从pandas read_csv 读取中文文件报错的问题

Traceback (most recent call last):
  File "D:/vm/test/test.py", line 8, in <module>
    data = pd.read_csv("D:\vm\test\app\taxiGps.csv.csv",encoding='utf-8',engine='python')
  File "D:\cs\python\lib\site-packages\pandas\io\parsers.py", line 686, in read_csv
    return _read(filepath_or_buffer, kwds)
  File "D:\cs\python\lib\site-packages\pandas\io\parsers.py", line 452, in _read
    parser = TextFileReader(fp_or_buf, **kwds)
  File "D:\cs\python\lib\site-packages\pandas\io\parsers.py", line 936, in __init__
    self._make_engine(self.engine)
  File "D:\cs\python\lib\site-packages\pandas\io\parsers.py", line 1179, in _make_engine
    self._engine = klass(self.f, **self.options)
  File "D:\cs\python\lib\site-packages\pandas\io\parsers.py", line 2372, in __init__
    f, handles = get_handle(
  File "D:\cs\python\lib\site-packages\pandas\io\common.py", line 493, in get_handle
    f = open(path_or_buf, mode, encoding=encoding, errors=errors, newline="")
OSError: [Errno 22] Invalid argument: 'D:\x0bm\test\x07pp\taxiGps.csv.csv'

Process finished with exit code 1
1.由于读取路径中包含中文,只需要改变读取方式即可
with open("file/训练集表_train.csv") as f:
    train = pd.read_csv(f)
f.close()
2.
data = pd.read_csv(path)
Traceback (most recent call last):

 File "C:/Users/arron/PycharmProjects/ML/ML/test.py", line 45, in <module>
  data = pd.read_csv(path)
 File "C:\Users\arron\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 655, in parser_f
  return _read(filepath_or_buffer, kwds)
 File "C:\Users\arron\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 405, in _read
  parser = TextFileReader(filepath_or_buffer, **kwds)
 File "C:\Users\arron\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 762, in __init__
  self._make_engine(self.engine)
 File "C:\Users\arron\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 966, in _make_engine
  self._engine = CParserWrapper(self.f, **self.options)
 File "C:\Users\arron\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 1582, in __init__
  self._reader = parsers.TextReader(src, **kwds)
 File "pandas\_libs\parsers.pyx", line 394, in pandas._libs.parsers.TextReader.__cinit__ (pandas\_libs\parsers.c:4209)
 File "pandas\_libs\parsers.pyx", line 712, in pandas._libs.parsers.TextReader._setup_parser_source (pandas\_libs\parsers.c:8895)
OSError: Initializing from file failed

data = pd.read_csv(path)

解决方案

pwd = os.getcwd()
os.chdir(os.path.dirname(path))
data = pd.read_csv(os.path.basename(path),encoding='gbk')
os.chdir(pwd)
3.读取csv文件编码方式问题
可以用encoding='utf-8’设置编码格式:
import pandas as pd
data = pd.read_csv('C:/Users/Dell/桌面/测试数据.csv',encoding='utf-8')
参考链接

https://www.jb51.net/article/142071.htm
https://blog.csdn.net/dengfenglaipppp/article/details/89396758?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_paramhttps://mermaidjs.github.io/
http://pandas.pydata.org/pandas-docs/stable/reference/io.html

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值