![](/img/trans.png)
[英]Python: pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 21, saw 2
[英]Python catch exception "pandas.errors.ParserError: Error tokenizing data. C error"
我在整个读取过程中遇到故障 csv 输入文件问题,我可以通过在我的 read_csv 函数中添加“error_bad_lines=False”来删除这些问题。
但是我需要报告造成问题的这么多文件,我认为我需要捕获该异常。 我通过使用尝试了
except pd.parser.CParserError
和
except ExceptionSubclass as exceptionsubclass:
在 Inte.net 上搜索后,在这两种情况下我都无法捕获此异常,如果您知道如何报告所有故障文件,请告诉我。
我得到的错误:
Traceback (most recent call last):
File "main.py", line 134, in reading_csv
df = pd.read_csv(absolute_path_of_file, sep=',', dtype=str, keep_default_na=False)
data = self._reader.read(nrows)
File "pandas/_libs/parsers.pyx", line 890, in pandas._libs.parsers.TextReader.read (pandas/_libs/parsers.c:10862)
File "pandas/_libs/parsers.pyx", line 912, in pandas._libs.parsers.TextReader._read_low_memory (pandas/_libs/parsers.c:11138)
File "pandas/_libs/parsers.pyx", line 966, in pandas._libs.parsers.TextReader._read_rows (pandas/_libs/parsers.c:11884)
File "pandas/_libs/parsers.pyx", line 953, in pandas._libs.parsers.TextReader._tokenize_rows (pandas/_libs/parsers.c:11755)
File "pandas/_libs/parsers.pyx", line 2184, in pandas._libs.parsers.raise_parser_error (pandas/_libs/parsers.c:28765)
pandas.errors.ParserError: Error tokenizing data. C error: Expected 7 fields in line 22, saw 8
尝试使用except pd.errors.ParserError
而不是except pd.parser.CParserError
。
这是熊猫引发的异常。
答案在这里
from pandas.errors import ParserError
try:
...
except ParserError:
...
或简单
except pd.errors.ParserError as text_exception:
这对我有用:
from dateutil.parser import ParserError
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.