在用Jupyter Notebook编译python代码时,我想引入pandas模块对csv文件中的数据进行读取
代码如下:
import pandasas pd data= pd.read_csv('data.csv')print(data)
可却报出这样的错误:
--------------------------------------------------------------------------- ParserError Traceback(most recent call last)<ipython-input-46-005476584c49>in<module>1import pandasas pd---->2 data= pd.read_csv('data.csv') F:\anaconda\envs\AI\lib\site-packages\pandas\io\parsers.pyin 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, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, dialect, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision)674)675-->676return _read(filepath_or_buffer, kwds)677678 parser_f.__name__= name F:\anaconda\envs\AI\lib\site-packages\pandas\io\parsers.pyin _read(filepath_or_buffer, kwds)452453try:-->454 data= parser.read(nrows)455finally:456 parser.close() F:\anaconda\envs\AI\lib\site-packages\pandas\io\parsers.pyin read(self, nrows)1131defread(self, nrows=None):1132 nrows= _validate_integer("nrows", nrows)->1133 ret= self._engine.read(nrows)11341135# May alter columns / col_dict F:\anaconda\envs\AI\lib\site-packages\pandas\io\parsers.pyin read(self, nrows)2035defread(self, nrows=None):2036try:->2037 data= self._reader.read(nrows)2038except StopIteration:2039if self._first_chunk: pandas\_libs\parsers.pyxin pandas._libs.parsers.TextReader.read() pandas\_libs\parsers.pyxin pandas._libs.parsers.TextReader._read_low_memory() pandas\_libs\parsers.pyxin pandas._libs.parsers.TextReader._read_rows() pandas\_libs\parsers.pyxin pandas._libs.parsers.TextReader._tokenize_rows() pandas\_libs\parsers.pyxin pandas._libs.parsers.raise_parser_error() ParserError: Error tokenizing data. C error: Expected1 fieldsin line4, saw2
试了网上很多的方法后依然没有解决这个问题,然后就猜测是不是文件命名格式出现了问题,于是在原来的目录下新创Excel文件,将其另存为csv文件格式,重新编译程序,竟然可以成功读取数据了。
问题解决方式总结:不能直接将后缀为.xlsx格式的文件改成.csv,而是需要将其另存为.csv格式
另外,需要说明的是,出现这样的错误的原因有很多,如果我的方法不能解决你的问题,可以看看下面我整理的一些大佬的解决方法:
pandas读、写csv文件错误解决办法(重要)
pandas 读csv文件,报错:ParserError:Error tokenizing data.
pandas解决“pandas.parser.CParserError: Error tokenizing data. C error: Expected 2 fields in line 3, s”
pandas.errors.ParserError: Error tokenizing data. C error: Expected 2 fields
pandas.read_csv()导入大文件时出现pandas.errors.ParserError: Error tokenizing data. C error: Buffer overflow