我正在尝试使用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 的列中缺少值。 柱之间存在不均匀的间距,这使得它更加困难。这些列也是固定的,因此有可能发现某些值丢失但找不到哪个值是不可能的。
答案 0 :(得分:0)
我同意Justin的说法,首先清理它是确保正确完成的最好方法。如果您可以浏览结果以验证质量控制,那么在这种情况下,这个黑客可能会完成工作。
pd.read_csv(header=None, sep='\s{1, 7}')
我再说一次,这不是一个好主意。如果你只是想加载一个小的数据集,它就能完成这项工作。但如果您无法验证它是否有效,请更好地使用read_fwf并仔细指定colspecs,或遵循Justin的建议并清理文件。