从windows操作系统本地读取csv文件报错
1
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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
|
上述报错的解决方案是
1
2
3
4
|
pwd = os.getcwd()
os.chdir(os.path.dirname(path))
data = pd.read_csv(os.path.basename(path))
os.chdir(pwd)
|
此时又报如下错误:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
Traceback (most recent call last):
File "C:/Users/arron/PycharmProjects/ML/ML/test.py" , line 47 , in <module>
data = pd.read_csv(os.path.basename(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 562 , in pandas._libs.parsers.TextReader.__cinit__ (pandas\_libs\parsers.c: 6175 )
File "pandas\_libs\parsers.pyx" , line 781 , in pandas._libs.parsers.TextReader._get_header (pandas\_libs\parsers.c: 9691 )
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd7 in position 0 : invalid continuation byte
|
最终解决方案是:
1
2
3
4
|
pwd = os.getcwd()
os.chdir(os.path.dirname(path))
data = pd.read_csv(os.path.basename(path),encoding = 'gbk' )
os.chdir(pwd)
|
以上这篇解决pandas read_csv 读取中文列标题文件报错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/wshzd/article/details/73739280