我正在尝试使用pandas阅读seeds dataset。使用以下命令加载文件时
df = pd.read_table("seeds_dataset.txt", header=None)
我明白了:
CParserError: Error tokenizing data. C error: Expected 8 fields in line 8, saw 10
现在,为了用excel加载文件,我需要同时指定制表符和空格作为分隔符,以正确读取第8行的文件,这是大熊猫无法做到的事情(就我而言)知道)。 Sublime Text直接准确读取文件。
我不想跳过error_bad_lines
的错误行,因为它们没有任何问题。我还使用lineterminator
但没有成功。
答案 0 :(得分:0)
尝试选项" delim_whitespace"。
df = pd.read_table("seeds_dataset.txt", header=None, delim_whitespace = True)
编辑:更详细的解释:
read_table
的方法签名是here。它有各种选项,其中之一是sep
。这定义了字段之间的分隔符,其默认值为' \ t' (标签)。一种解决方案是更改sep
参数。 pandas解析器的python实现允许您使用正则表达式分隔符,因此sep = "\\s+"
将分隔任意数量的空白。但是,C解析器(它看起来像是从错误消息中使用)并不允许您使用正则表达式。它确实有delim_whitespace
选项,完全符合您的需求!