【发布时间】:2019-01-08 06:38:55
【问题描述】:
有没有办法使用 pandas 读取表或读取 fwf 来解析具有空字段的文本文件,如果该行中没有更多字段,则制表符分隔符将停止。示例:我添加了可读的空格,但它们不在选项卡之间。应该有 5 列 A:E
A \t B \t C \t D \t E \r\n
word 1 \t 1 \t 2 \t text \t s \r\n
\t 0 \t 20 \r\n
word 2 \t 1 \t 5 \r\n
\t \t \t text2 \r\n
word 6 \t 2 \t 6 \t text3 \t s \r\n
我想要 NaN 值或任何在有空字段的地方说它是空的。我环顾四周寻找类似的东西,但没有找到任何东西。我也尝试了所有我能想到的使用 pandas 的方法。我曾考虑为缺少 4 的每一行添加 \t 值,但我希望有一种更简单的方法,因为除了这个之外,这个数据集还有更多问题。这些数据表中间用文字隔开,因为是pdf转成文字的。
预期结果:
A B C D E
word 1 1 2 text s
NaN 0 20 NaN NaN
word 2 1 5 NaN NaN
NaN NaN NaN text2 NaN
word 6 2 6 text3 s
使用
data = pd.read_fwf(filename, skiprows=range(0,10),skipfooter=8,sep='\t',na_values='NaN')
【问题讨论】:
-
你试过什么?你能添加一个预期的结果吗?
-
我已经尝试使用 read_table 和 read_fwf 与许多不同的参数一起查看在线。似乎没有任何效果。所有内容都作为字符串放入第一列。它不解析选项卡。我认为那是因为他们的标签数量不一致
-
还添加 delim_whitespace=True 将选项卡保留在第一列内,但不会将它们分开。
标签: python python-3.x pandas python-2.7