如何将由空格分隔的文本文件读入DataFrame?

时间:2016-10-26 16:31:03

标签: python pandas dataframe

我有一个以这种方式格式化的文本文件:

A00     0010  00000
A001    0011  00000
A00911  0019  00000
A0100   0020  10000

我想将此文件读入DataFrame。所以我试过了:

import pandas as pd
path = *file path*
df = pd.read_csv(path, sep = '\t', header = None)

我得到的是一个包含4行和1列的DataFrame。

                         0
0      A00     0010  00000
1      A001    0011  00000
2      A00911  0019  00000
3      A0100   0020  10000

[4 rows x 1 columns]

这是因为" \ t"不会分隔这些值。列之间的空格数在每行中有所不同,具体取决于字符串的长度。

所需的DataFrame应该有四行三列。

          0       1      2  
0      A000    0010  00000
1      A001    0011  00000
2      A009    0019  00000
3      A0100   0020  10000

[4 rows x 3 columns]

2 个答案:

答案 0 :(得分:5)

您可以提供delim_whitespace=True以及dtype=str以保留read_csv中的dtypes args,例如:

df = pd.read_csv(path, delim_whitespace=True, header=None, dtype=str)
df

Image

答案 1 :(得分:1)

尝试在“sep”命令中使用正则表达式

df = pd.read_csv(path, sep = ' +', header = None)