【发布时间】:2018-09-05 18:48:06
【问题描述】:
我正在尝试使用 pandas.read_table() 从文本文件中读取空格分隔的下三角矩阵。矩阵的零项留空。
C1 C2 C3
R1 1
R2 2 3
R3 5 6 7
目前,我有以下丑陋的两步解决方案。
header = pd.read_table('test.txt', delim_whitespace=True, nrows=0)
names = list(header.columns.values)
names.insert(0, '')
df = pd.read_table('test.txt', delim_whitespace=True,
names=names, skiprows=1, index_col=0)
这确实给了我想要的东西。输出:
C1 C2 C3
R1 1 NaN NaN
R2 2 3.0 NaN
R3 5 6.0 7.0
有没有一种“更清洁”的方式来做类似的事情?
【问题讨论】:
-
pd.read_table('text.txt', delim_whitespace=True)的输出是什么 -
我收到
ParserError: Error tokenizing data. C error: Expected 3 fields in line 4, saw 4 -
为什么要指定
nrows=0。您正在打开一个文件并读取零行。 -
mad_:这是一个 hack,所以我可以阅读标题行。我可以使用 0 或 1 似乎没有区别。
-
也许可以试试fixed width
标签: python pandas data-munging