我是 python 的新手,因为我正在处理表格数据,所以建议我使用 pandas 来处理和构建我将要处理的数据。我正在读这个文件:Accel(m/s^2) 0.2518 0.0072 9.8201
Accel(m/s^2) 0.2369 0.0036 9.8201
Accel(m/s^2) 0.2477 0.0048 9.8369
使用以下代码:file_name = '/Users/MT/Desktop/Accel_Data.txt';accel_data = {
'X': [], 'Y': [], 'Z': []
}
data = pd.read_csv(file_name,sep = '\t');
for line in data:accel_data['X'].append(line[1])accel_data['Y'].append(line[2])accel_data['Z'].append(line[3])我希望accel_data字典看起来像下面这样:{
'X': [0.2518,0.2369,0.2477], 'Y': [0.0072, 0.0036, 0.0048], 'Z': [9.8201, 9.8201, 9.8369]
}
但它看起来像这样:{
'X': ['c', ':', ':', ':'], 'Y': [ 'c', ' ', ' ', ' '], 'Z': [ 'e', '0', '0', '9']
}
这项工作可以在excel或matlab中完成,我更习惯使用,但我需要学习如何使用python过渡到更通用的编码语言来处理此类数据。任何帮助将不胜感激!
1 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
您的问题似乎是使用sep = '\t'并且您的文件似乎是空格分隔的。改变你读到这个的行
data = pd.read_csv(file_name, sep = ' ') # note tha space
如果你的文件没有标题那么做
data = pd.read_csv(file_name, sep = ' ', header=None)
现在让我们来点额外的。
似乎没有理由做你正在做的将数据放入该字典的事情,你可以像这样为数据框分配标题
columns = ['formula', 'X', 'Y', 'Z']
data = pd.read_csv(file_name, sep = ' ', header=None, names=columns)
这会给你
formula X Y Z
0 Accel(m/s^2) 0.2518 0.0072 9.8201
1 Accel(m/s^2) 0.2369 0.0036 9.8201
2 Accel(m/s^2) 0.2477 0.0048 9.8369
pandas 的强大之处在于将它用作数据框,如果您要提取数据并将其转换为字典,那么您就失去了它。
添加回答
举报
0/150
提交
取消