在Python中读取csv时分隔符不起作用

2024-10-01 02:23:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据包含3004行,没有标题,每行有不同数量的字段(例如,第1、2、3、4行分别有16、17、21、12)。这是我调用csv时的代码。在

 df = pd.read_csv(file,'rb', delimiter ='\t', engine='python')

输出如下:

^{pr2}$

分隔符似乎根本不起作用,无法将数据逐列分离。因此,我根据($PUBX,00)中的字段数尝试使用columns函数。下面是我添加列时的代码:

my_cols = ['MSG type', 'ID MSG', 'UTC','LAT', 'N/S', 'LONG', 'E/W', 'Alt', 'Status','hAcc', 'vAcc','SOG', 'COG', 'VD','HDOP', 'VDOP', 'TDOP', 'Svs', 'reserved', 'DR', 'CS', '<CR><LF>']

df = pd.read_csv(file, 'rb', header = None, na_filter = False, engine = 'python', index_col=False, names=my_cols)

结果如下图所示。文件变成“MSG type”中的一列。在

the output

成功调用这个csv之后,我的目的是只读取$PUBX,00,。。。还有一列$PUBX,04,。。。并将其写入csv。但是,我仍然在努力如何将文件分成列。请在这件事上给我提个建议。非常感谢你。在


Tags: csv数据代码falsedfreadmytype
2条回答

伊莉亚·埃弗里拉的帽子提示

@Hasanah根据你的代码:

df = pd.read_csv(file,'rb', delimiter ='\t', engine='python')

delimiter='\t'告诉pandas根据制表符将数据分隔成字段。在

pandas读取csv文件时的默认分隔符是逗号,因此不需要定义分隔符:

df = pd.read_csv(file,'rb', engine='python')

pd.read_csv

用于读取CSV(逗号分隔值)文件,因此不需要指定分隔符。在

如果要读取TSV(制表符分隔值)文件,可以使用:

^{pr2}$

默认分隔符是制表符

相关问题 更多 >