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

Reading data in python pandas by defining width of each column as number of characters

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

例如:

A B          C  D
- ---------- -- ---
1 foo        32 9.5
4 bar           5.4
5 foofoo_bar 44 

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

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

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

np.genfromtxtdelimiter 可以是列宽列表而不是分隔符。