猿问

如何使用 pandas.read_csv 读取字段

我是 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过渡到更通用的编码语言来处理此类数据。任何帮助将不胜感激!


MMMHUHU
浏览 125回答 1
1回答

慕码人8056858

您的问题似乎是使用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       Z0  Accel(m/s^2)  0.2518  0.0072  9.82011  Accel(m/s^2)  0.2369  0.0036  9.82012  Accel(m/s^2)  0.2477  0.0048  9.8369pandas 的强大之处在于将它用作数据框,如果您要提取数据并将其转换为字典,那么您就失去了它。
随时随地看视频慕课网APP

相关分类

Python
我要回答