猿问

使用 Pandas 在 Python 中导入.csv

我正在尝试使用pandas在Python中导入.csv文件,但输出是错误代码。


这是我从python和pandas开始的,我从YouTube上的一个很好的教程开始,其中测试数据也是一个.csv文件,并且使用此文件,我的代码可以正常工作。


我想使用的文件是一个.csv文件,但它已经分隔了列,测试数据文件没有单独的列,数据用“,”分隔。


那么有没有人有建议来解决我的问题?


import pandas as pd

df = pd.read_csv("feedPreview.csv")

print(df)

输出:


ParserError                               Traceback (most recent call last)

<ipython-input-2-09462199d5bd> in <module>

      1 import pandas as pd

      2 

----> 3 df = pd.read_csv("feedPreview.csv")

      4 

      5 print(df)


~\Anaconda3\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, 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)

    683         )

    684 

--> 685         return _read(filepath_or_buffer, kwds)

    686 

    687     parser_f.__name__ = name


~\Anaconda3\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds)

    461 

    462     try:

--> 463         data = parser.read(nrows)

    464     finally:

    465         parser.close()


~\Anaconda3\lib\site-packages\pandas\io\parsers.py in read(self, nrows)

   1152     def read(self, nrows=None):

   1153         nrows = _validate_integer("nrows", nrows)

-> 1154         ret = self._engine.read(nrows)

   1155 

   1156         # May alter columns / col_dict


~\Anaconda3\lib\site-packages\pandas\io\parsers.py in read(self, nrows)

   2057     def read(self, nrows=None):

   2058         try:

-> 2059             data = self._reader.read(nrows)

   2060         except StopIteration:

   2061             if self._first_chunk:

凤凰求蛊
浏览 149回答 2
2回答

哆啦的时光机

您可以通过执行以下操作找到具有5个字段的行:with open(csv_file, 'r') as f:&nbsp; &nbsp;for i, l in f.readlines():&nbsp; &nbsp; &nbsp; &nbsp;if len(l.split(',') > 4:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;print(i)然后使用编辑器打开文件并进行更正

胡子哥哥

很难在不看到数据的情况下确定,但似乎文件的第33行有5个字段而不是4个。如果您认为可以在没有此行的情况下导入数据(以及其他可能存在相同问题的行),则可以尝试以下操作:&nbsp;df&nbsp;=&nbsp;pd.read_csv('feedPreview.csv',&nbsp;error_bad_lines=False)正如熊猫文档中所说:“默认情况下,字段过多的行(例如,逗号过多的 csv 行)将导致引发异常,并且不会返回任何 DataFrame。如果为 False,则这些“坏行”将从返回的数据帧中删除。
随时随地看视频慕课网APP

相关分类

Python
我要回答