在Python / Pandas中读取空格分隔文件,缺少值

时间:2013-08-01 15:01:30

标签: python pandas whitespace missing-data

我正在尝试使用panda中的read_csv在Python中读取空格分隔文件。 它的工作原理是指定delimiter =“”。当列中存在某些缺失值时会出现问题,因为它会将缺失值视为分隔符而忽略缺失值。

有没有办法解决这个问题?

1600    1141.0000  020006        600    1141.0000    69.0000   OAUC     0.0000   
   1    1070.5000  020032          1    1070.5000   400.0000            0.0000

您可以看到值 OAUC 的列中缺少值。 柱之间存在不均匀的间距,这使得它更加困难。这些列也是固定的,因此有可能发现某些值丢失但找不到哪个值是不可能的。

1 个答案:

答案 0 :(得分:0)

我同意Justin的说法,首先清理它是确保正确完成的最好方法。如果您可以浏览结果以验证质量控制,那么在这种情况下,这个黑客可能会完成工作。

pd.read_csv(header=None, sep='\s{1, 7}')

我再说一次,这不是一个好主意。如果你只是想加载一个小的数据集,它就能完成这项工作。但如果您无法验证它是否有效,请更好地使用read_fwf并仔细指定colspecs,或遵循Justin的建议并清理文件。