【发布时间】:2017-03-06 21:30:23
【问题描述】:
我使用 Python pandas 0.19.2 中的 pandas.read_fwf() 函数读取具有以下内容的文件 fwf.txt:
# Column1 Column2
123 abc
456 def
#
#
我的代码如下:
import pandas as pd
file_path = "fwf.txt"
widths = [len("# Column1"), len(" Column2")]
names = ["Column1", "Column2"]
data = pd.read_fwf(filepath_or_buffer=file_path, widths=widths,
names=names, skip_blank_lines=True, comment="#")
打印出来的数据框是这样的:
Column1 Column2
0 123.0 abc
1 NaN NaN
2 456.0 def
3 NaN NaN
看起来 skip_blank_lines=True 参数被忽略了,因为数据帧包含 NaN。
确保跳过空行的pandas.read_fwf() 参数的有效组合应该是什么?
【问题讨论】:
-
尝试去掉
comment参数,它可能会覆盖skip_blank_lines -
@rassar 这也是我的想法,但似乎没有帮助。
-
对我来说它看起来像一个 Pandas 错误...
-
@B. M.,这是关于 R 中类似函数的问题
-
是的,
read_fwf忽略了skip_blank_lines似乎是一个错误。通过启用verbose=True推断NA 值时,您可以收到一条消息。您可以将此错误报告为pandas issue。您也可以使用na_filter = None禁用在空白行上推断出的 NA