首页 > 解决方案 > [熊猫,Python];在空格分隔的数据框中保留空列

问题描述

我有一个数据框,其值如下

A B C D
1 2 3 4
5   6 7
8     9

当我使用以下内容将上述框架读入 Pandas 时

pd.read_csv(io.StringIO(raw_2), sep='\s+')

它被读作

A B C   D
1 2 3   4
5 6 7   NaN
8 9 NaN NaN

有没有办法我可以保留空白列并在 D 列下使用 9 而不是 B

标签: pythonpandas

解决方案


您需要一个读取固定宽度列的阅读器:

pd.read_fwf(io.StringIO(raw_2))
#   A    B    C  D
#0  1  2.0  3.0  4
#1  5  NaN  6.0  7
#2  8  NaN  NaN  9

不保证此过程通常可以正常工作。您可能必须手动指定列宽。


推荐阅读