【发布时间】:2021-08-27 21:30:59
【问题描述】:
我需要加载一个 csv 文件,其中空格用作制表符,如下所示:
2021-08-27 12:21:28.259 2021-08-25 17:36:52.045 1,9253 -2,0298 -1,3901 356,6895 111,0229 893,0664 -162,1033 -35,9802 131,6052
但是有些行格式错误,值太大,并且某些值之间没有空格:
2021-08-27 12:21:28.350 2021-08-25 17:36:52.155 -4,7617 -5,2017 -8,0220 -1484,8022 -127,9907-1999,7559 99,7943 -55,4700 -109,0063
因此,当我使用 pd.read_csv() 导入 csv 时,我会得到一些带有移位值的行。
我尝试逐行编辑文本文件,在 - 之前添加空格,但处理时间太长。
有没有一种在加载时编辑 csv 的快速方法?
好东西是每列总是在固定位置开始(和结束),但我没有找到任何方法在知道列开始/的熊猫中加载 csv结束索引
【问题讨论】:
-
如果这不是一个非常大的文件,我建议您使用 python 脚本仅使用字符串来拆分数据。那会更容易。但如果它是一个非常大的文件,那么这不是一个选项
-
你不能只改变csv中空格的大小吗? `
-
@Tharaka Devinda:是的,这是一个大文件。我已经试过了,时间太长了
-
@Julien 问题不在于空格的大小,而在于它们不存在
-
你总是有 4 位小数吗?如果是,我可以制定一些正则表达式来执行替换。你也可以看看
read_fwfpanda 的函数 for fixed-width-format