Python read \u csv标记化错误/从不一致的csv fi读取

2024-05-16 06:26:33 发布

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

我有一个csv文件,有几百行和13列。csv文件的结构如下(示例):

a  b  c  d 

23 43 54 65

76 23 43 63

.

.

a  b  e  c  d

21 12 43 12 09 

23 12 32 43 87

一个标题的值显示在另一个标题下。结果,当我使用read\u csv时,我得到ParserError:Error标记化数据。C错误:第27458行预期有12个字段,SAW13

关于如何清理/重新排列csv文件并将正确的列值放在正确的列下,有什么建议吗?可能创建一个新的csv或将其输入到数据库中。谢谢


Tags: 文件csv数据标记数据库标题示例read
2条回答

如果您可以在csv文件中提供列名(总计13),作为文件的第一行,您将能够使用read\u csv,它将在没有给定值的地方返回一个带null的数据,然后您可以用您想要的任何其他值替换NaN

如果您不特别需要创建数据帧,那么您可以通过不使用pandas来轻松地处理这个问题。标准csv模块将很高兴地读取不同长度的行。每一行都作为列表返回。您可以直接使用它们,或者如果您需要清理csv,您可以将空字符串附加到列表中,使它们的长度相同,并将它们写回新文件

import csv

with open('test.txt','r') as f:
    rdr=csv.reader(f)
    for i in rdr:
        print(i)

相关问题 更多 >