首页 > 其他 > 详细

读取csv文件的bug

时间:2020-04-15 11:05:33      阅读:79      评论:0      收藏:0      [点我收藏+]
"D:\Program Files\Python36-32\python.exe" D:/PyCharm_Project/bishe/process/read_csv.py
Traceback (most recent call last):
  File "D:/PyCharm_Project/bishe/process/read_csv.py", line 11, in <module>
    df = pd.read_csv(csv_path) #报错
  File "D:\Program Files\Python36-32\lib\site-packages\pandas\io\parsers.py", line 676, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "D:\Program Files\Python36-32\lib\site-packages\pandas\io\parsers.py", line 454, in _read
    data = parser.read(nrows)
  File "D:\Program Files\Python36-32\lib\site-packages\pandas\io\parsers.py", line 1133, in read
    ret = self._engine.read(nrows)
  File "D:\Program Files\Python36-32\lib\site-packages\pandas\io\parsers.py", line 2037, in read
    data = self._reader.read(nrows)
  File "pandas\_libs\parsers.pyx", line 860, in pandas._libs.parsers.TextReader.read
  File "pandas\_libs\parsers.pyx", line 875, in pandas._libs.parsers.TextReader._read_low_memory
  File "pandas\_libs\parsers.pyx", line 929, in pandas._libs.parsers.TextReader._read_rows
  File "pandas\_libs\parsers.pyx", line 916, in pandas._libs.parsers.TextReader._tokenize_rows
  File "pandas\_libs\parsers.pyx", line 2071, in pandas._libs.parsers.raise_parser_error
pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 4, saw 2

查了下资料,应该是我强行转换格式(xlsx->csv)所引起的字符编码问题
这里稍微总结一下由字符编码问题引起的错误该如何解决办法呢,如下:

  • 文件另存为csv
  • 如果不是像我那样强转所导致的,就增加分隔符参数
? df = pd.read_csv(csv_path)
? df = pd.read_csv(csv_path, encoding=‘utf-8‘,sep = ‘\t‘)

或者增添这个参数

  df = pd.read_csv(csv_path, error_bad_lines=False) #报错

再或者增添这个参数

  df = pd.read_csv(csv_path, engine="python") #报错

参考文章
https://www.jianshu.com/p/be233bdb4dbf
https://blog.csdn.net/shuiyixin/article/details/88930359

读取csv文件的bug

原文:https://www.cnblogs.com/z-712/p/12703217.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!