转自:https://blog.csdn.net/qq1483661204/article/details/78524714
pandas读取文件报如下的错误:
--------------------------------------------------------------------------
OSError Traceback (most recent call last)
<ipython-input-21-f8680ec116e3> in <module>()
1 #f = open(path)
----> 2 res = pd.read_csv('我的文件.csv')
E:\anaconda_python\lib\site-packages\pandas\io\parsers.py in parser_f(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, skipfooter, skip_footer, doublequote, delim_whitespace, as_recarray, compact_ints, use_unsigned, low_memory, buffer_lines, memory_map, float_precision)
644 skip_blank_lines=skip_blank_lines)
645
--> 646 return _read(filepath_or_buffer, kwds)
647
648 parser_f.__name__ = name
E:\anaconda_python\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds)
387
388 # Create the parser.
--> 389 parser = TextFileReader(filepath_or_buffer, **kwds)
390
391 if (nrows is not None) and (chunksize is not None):
E:\anaconda_python\lib\site-packages\pandas\io\parsers.py in __init__(self, f, engine, **kwds)
728 self.options['has_index_names'] = kwds['has_index_names']
729
--> 730 self._make_engine(self.engine)
731
732 def close(self):
E:\anaconda_python\lib\site-packages\pandas\io\parsers.py in _make_engine(self, engine)
921 def _make_engine(self, engine='c'):
922 if engine == 'c':
--> 923 self._engine = CParserWrapper(self.f, **self.options)
924 else:
925 if engine == 'python':
E:\anaconda_python\lib\site-packages\pandas\io\parsers.py in __init__(self, src, **kwds)
1388 kwds['allow_leading_cols'] = self.index_col is not False
1389
-> 1390 self._reader = _parser.TextReader(src, **kwds)
1391
1392 # XXX
pandas\parser.pyx in pandas.parser.TextReader.__cinit__ (pandas\parser.c:4184)()
pandas\parser.pyx in pandas.parser.TextReader._setup_parser_source (pandas\parser.c:8471)()
OSError: Initializing from file failed
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
当你用pandas读取文件报这种错误时,一般是因为你的文件名中带有中文,例如:
res = pd.read_csv('我的文件.csv')
- 1
这种情况就会报错,只需要这样更改就可以:
f = open('我的文件.csv')
res = pd.read_csv(f)
- 1
- 2
然后就可以读取文件了