3

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

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

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

您可以看到值为OAUC的列中有一个缺失值。列之间的间距不均匀,这使其更加困难。此外,列是固定的,因此可以发现缺少某些值,但还不可能找出缺少的值。

4

1 回答 1

1

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

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

我再说一遍,这不是一个好主意。如果您只想加载一个较小的数据集,它会完成这项工作。但如果您无法验证它是否有效,最好使用 read_fwf 并仔细指定 colspecs,或者按照 Justin 的建议清理文件。

于 2013-08-01T15:31:30.057 回答