python数据处理
1.读取txt文件到列表中
data=[]#建立空列表
f=open("txt文件地址","r")#设置文件对象
data=f.readlines()#直接将文件中按行读到list里
f.close#关闭文件
2. 列表长度
lens()
3.字符串分割
其它格式数据先转化为字符串:str()
字符串.split("分隔符")
4.转化为dataframe格式
from pandas.core.frame import DataFrame
df=DataFrame(列表)
5.dataframe格式导出到excel表
df.to_excel("excel表格地址")
常见问题
1.列表太长时转化为dataframe格式会出现后面数据丢失的情况,所以先对列表处理,等列表长度不是太长时再转化格式
如:
实例说明:
背景说明:使用myo传感器采集手臂肌电信号,数据格式如下:Time(ms) : EMG1 : … : EMG8 : Ax : Ay : Az : Wx : Wy: Wz,数据被保存在txt文件中,数据量大约1200行。其中,我需要的数据是EMG1:…EMG8,所以我需要利用python进行数据处理,并将结果保存至excel表。
原始数据展示:
代码如下:
#处理myo手环采集到的原始数据,把8个通道的emg信号单独提取出来,保存到excel表
import pandas as pd
from pandas.core.frame import DataFrame
#按行读取txt文件到data列表里
data=[]#创建新的空列表
c=[]
f=open("E:/Myo/实用程序/myo_visualizer_1_4_1/myo_visualizer_1_4_1/数据结果保存于此/1.txt","r")#设置文件对象
data=f.readlines()#将文件中按行读到list里
f.close()#关闭文件
m=len(data)#求列表长度
for i in range(m):
a=str(data[i]).split(":")#先将列表转化为字符串,再用split方法以冒号为分隔符,分割
a=a[1:9]#取出emg数据,8个通道
c.append(a)#放置到列表c中存储
df=DataFrame(c)#转化为dataframe格式,但此时df里的据格式为object(str格式)
df=df.apply(pd.to_numeric, errors="ignore")#将df的object格式转化为数值格式
#index=False,header=False表示不写入行和列的标签
df.to_excel('E:/Myo/实用程序/myo_visualizer_1_4_1/myo_visualizer_1_4_1/数据结果保存于此/1.xls',index=False,header=False)#导出到excel表
处理完数据展示: