通过将每列的宽度定义为字符数来读取 python pandas 中的数据

Pra*_*ate 1 python csv numpy data-analysis pandas

我正在尝试读取一个文件,其中的列由可变空格分隔。我想知道是否有一种方法可以通过根据为该列保留的字符数定义每列的宽度来读取文件。

例如:

A B          C  D
- ---------- -- ---
1 foo        32 9.5
4 bar           5.4
5 foofoo_bar 44 
Run Code Online (Sandbox Code Playgroud)

假设我们必须读取上面的数据。请注意,C 列和 D 列中不存在某些条目。但是,请注意文件中的第二行(带有破折号的行)指示特定列可以包含的最大字符数。

那么,问题是给定数据集中每列的最大宽度,有没有办法使用 pandas 或任何其他包读取 python 中的数据集?

Joh*_*nck 5

你应该使用pandas.read_fwf(). 它代表读取固定宽度文件。