为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 pandas.read_csv 读取字段

如何使用 pandas.read_csv 读取字段

MMMHUHU 2023-05-09 15:18:04
我是 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 的强大之处在于将它用作数据框,如果您要提取数据并将其转换为字典,那么您就失去了它。


查看完整回答
反对 回复 2023-05-09
  • 1 回答
  • 0 关注
  • 119 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信