【发布时间】:2020-02-16 10:43:30
【问题描述】:
我有一个包含几百行和 13 列的 csv 文件。 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_csv 时,我得到 ParserError: Error tokenizing data。 C 错误:第 27458 行中预期有 12 个字段,但看到了 13 个。
关于如何清理/重新排列 csv 文件并将右列值放在右列下的任何建议?也许创建一个新的 csv 或将其输入到数据库中。谢谢
【问题讨论】:
-
你确定 csv 是干净的吗?您是否检查了第 27458 行,是否真的比应有的多 1 列?
-
听起来您实际上并没有“一个 csv 文件”本身,您有多个 csv 文件,它们已附加在一起并存储在一个磁盘文件中。您可能需要对原始文件进行一些预处理,将不同的 csv“块”拆分为单独的文件,单独导入它们,以免列混乱(如 here 所述),然后合并将它们组合成一个 DataFrame。
标签: python pandas csv sqlalchemy