我有一个以这种方式格式化的文本文件:
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]
答案 0 :(得分:5)
您可以提供delim_whitespace=True
以及dtype=str
以保留read_csv
中的dtypes args,例如:
df = pd.read_csv(path, delim_whitespace=True, header=None, dtype=str)
df
答案 1 :(得分:1)
尝试在“sep”命令中使用正则表达式
df = pd.read_csv(path, sep = ' +', header = None)