为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Pandas 在 Python 中导入.csv

使用 Pandas 在 Python 中导入.csv

凤凰求蛊 2022-08-16 10:39:28
我正在尝试使用pandas在Python中导入.csv文件,但输出是错误代码。这是我从python和pandas开始的,我从YouTube上的一个很好的教程开始,其中测试数据也是一个.csv文件,并且使用此文件,我的代码可以正常工作。我想使用的文件是一个.csv文件,但它已经分隔了列,测试数据文件没有单独的列,数据用“,”分隔。那么有没有人有建议来解决我的问题?import pandas as pddf = 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:
查看完整描述

2 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

您可以通过执行以下操作找到具有5个字段的行:


with open(csv_file, 'r') as f:

   for i, l in f.readlines():

       if len(l.split(',') > 4:

           print(i)

然后使用编辑器打开文件并进行更正


查看完整回答
反对 回复 2022-08-16
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

很难在不看到数据的情况下确定,但似乎文件的第33行有5个字段而不是4个。如果您认为可以在没有此行的情况下导入数据(以及其他可能存在相同问题的行),则可以尝试以下操作:

 df = pd.read_csv('feedPreview.csv', error_bad_lines=False)

正如熊猫文档中所说

“默认情况下,字段过多的行(例如,逗号过多的 csv 行)将导致引发异常,并且不会返回任何 DataFrame。如果为 False,则这些“坏行”将从返回的数据帧中删除。


查看完整回答
反对 回复 2022-08-16
  • 2 回答
  • 0 关注
  • 118 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信