首页 > 解决方案 > 如何使用 Nan 读取 Pandas 中的 CSV 文件?

问题描述

我有一个txt文件:

24688 1965 12 31 12   0  0    0.0 -48.3
24688 1965 12 31 15   0  0        -47.2
24688 1965 12 31 18   0  0        -49.0
24688 1965 12 31 21   0  0    0.0 -48.1
24688 1966  1  1  0   0  0    0.0 -52.5

…………

我正在尝试使用此 DataFrame data = pd.read_csv('/home/igor/py/normdata.txt', header=None, sep='\s+')

24688 1965 12 31 12   0  0    0.0 -48.3
24688 1965 12 31 15   0  0    Nan -47.2
24688 1965 12 31 18   0  0    Nan -49.0
24688 1965 12 31 21   0  0    0.0 -48.1
24688 1966  1  1  0   0  0    0.0 -52.5

但我得到:

24688   1965    12  31  12  0.0 0.0 0.0 -48.3
24688   1965    12  31  15  0.0 0.0 -47.2 Nan
24688   1965    12  31  18  0.0 0.0 -49.0 Nan
24688   1965    12  31  21  0.0 0.0 0.0 -48.1
24688   1966    1   1   0   0.0 0.0 0.0 -52.5

谁能帮我?

标签: pythonpandascsv

解决方案


你应该告诉 Pandas 分隔符最多包含四个空格:

pd.read_csv('/home/igor/py/normdata.txt', sep="\s{1,4}", 
            header=None)

您也可以考虑使用pandas.read_fwf(),因为您的表格具有固定宽度格式。


推荐阅读