【发布时间】:2022-11-24 06:33:19
【问题描述】:
我需要在 pandas 中加载一个不是 100% CSV“兼容”的 CSV 文件,下面是一个例子:
"Transaction date";"Accounting date";"Counterparty's data";"Title"
2021-08-22;2021-08-22;" "SPOLEM" ASS "ALDONA" AUGUSTOW ";" Title 450"
2019-09-02;2019-09-02;" 13XYZ05 "SKOWRONEK" NIEGOWA ";" Title 1300"
2010-07-18;2010-07-18;" APTEKA "SLOWINSKA" SPOLKALEBA ";" Title 123"
我使用以下命令将此 csv 文件 (csv_in) 读取到 pandas 数据框中:
df = pd.read_csv(csv_in, \
delimiter=';', \
engine='python', \
quoting=1)
我知道错误的 csv 格式是罪魁祸首,但是:
- 我如何指示 pandas 指示进程在哪一行中断,而不是简单地通知我pandas.errors.ParserError: ';'预期在 '"' 之后...我想知道它在 csv_in 文件的哪一行损坏了...拥有一个 6500 行的文件,您可以想象我在没有任何帮助的情况下找到这些格式错误的行是多么困难,除了“嘿,有错误!”
- 是否可以指示 pandas 使用组合 [;"] 作为起始文本字段和 [";] 作为结束文本字段?这应该可以解决问题,显然 CSV 模块(导入 csv)以某种方式理解该模块读取文件而不会抛出错误,也不会跳过行
谢谢! 埃文
【问题讨论】:
标签: python-3.x pandas dataframe csv quotes