如何将文本文件加载到 Pandas 数据框中?

dee*_*das 1 python pandas

我有一个看起来像这样的文本文件:

`

 101   the   323
 103   to    324
 104   is    325
Run Code Online (Sandbox Code Playgroud)

其中分隔符是四个空格。我正在尝试read_csv函数以将其转换为熊猫数据框。

data= pd.read_csv('file.txt', sep=" ", header = None)
Run Code Online (Sandbox Code Playgroud)

然而它给了我很多 NaN 值

    101\tthe\tthe\t10115  NaN  NaN     NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
     102\tto\tto\t5491  NaN  NaN     NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
     103\tof\tof\t4767  NaN  NaN     NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
       104\ta\ta\t4532  NaN  NaN     NaN  NaN  NaN  NaN  NaN  NaN  NaN  Na
Run Code Online (Sandbox Code Playgroud)

有什么方法可以将文本文件读取为正确的 csv 格式。

jez*_*ael 6

如果需要分隔符正好是4空格:

data = pd.read_csv('file.txt', sep="\s{4}", header = None, engine='python')
print (data)
     0    1    2
0  101  the  323
1  103   to  324
2  104   is  325
Run Code Online (Sandbox Code Playgroud)

或者使用参数delim_whitespace=True(感谢carhurs)或者\s+如果需要分隔符一个或多个空格:

data = pd.read_csv('file.txt', sep="\s+", header = None)
data = pd.read_csv('file.txt', delim_whitespace=True, header = None)
Run Code Online (Sandbox Code Playgroud)

但如果分隔符是tab

data = pd.read_csv('file.txt', sep="\t", header = None)
Run Code Online (Sandbox Code Playgroud)