Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我无法使用pd.read_CSV读取此CSV文件,该文件具有不同数量的预期值_Python_Pandas_Csv - Fatal编程技术网

Python 我无法使用pd.read_CSV读取此CSV文件,该文件具有不同数量的预期值

Python 我无法使用pd.read_CSV读取此CSV文件,该文件具有不同数量的预期值,python,pandas,csv,Python,Pandas,Csv,我已经试了几个小时来阅读这个文件。我尝试过研究解决方案并加以应用。它们不起作用。文件本身在Excel上可以很好地打开,但我不能用Pandas读取它 响应不断返回相同的错误:parserror:saw63第5行应包含3个字段 我已经看到了关于这个话题的一些其他问题,但这些具体问题的解决方案都没有解决我的问题 有人知道我为什么无法读取此文件以及如何修复它吗?多谢各位 在: 输出: 尝试更改pd.read_csv()中sep参数的值。将代码更改为 data=pd.read_csv('API_EN.AT

我已经试了几个小时来阅读这个文件。我尝试过研究解决方案并加以应用。它们不起作用。文件本身在Excel上可以很好地打开,但我不能用Pandas读取它

响应不断返回相同的错误:
parserror:saw63第5行应包含3个字段

我已经看到了关于这个话题的一些其他问题,但这些具体问题的解决方案都没有解决我的问题

有人知道我为什么无法读取此文件以及如何修复它吗?多谢各位

在:

输出:


尝试更改pd.read_csv()中sep参数的值。

将代码更改为

data=pd.read_csv('API_EN.ATM.CO2E.PC_DS2_en_csv_v2_10181020.csv', header=None, engine='python', error_bad_lines=False)

将导入您的csv,但无法正确导入您的csv。可能您的csv和使用的分隔符有问题。你能发布你试图导入的csv的第五行吗?例如,最后一列是否包含带逗号的文本?您希望有多少列:3、63或其他?

尝试使用
data=pd.read\u csv('API\u EN.ATM.CO2E.PC\u DS2\u EN\u csv\u v2\u 10181020.csv',error\u bad\u lines=False)
共享您尝试读取的
csv
的示例。您确定没有需要跳过的跨多行的标题吗?解析器将基于第一行标记数据,因此如果第一行包含的字段比文件的其余部分多或少,它将无法正确解析。
skiprows
参数将对此有所帮助。这是CSV文件的第5行:我尝试了“error\u bad\u lines=False”,它以前不起作用。但是,我尝试了那行代码,它跳过了文件中的每一行。跳过的每一行都写着:“第21行应该有3个字段,SAW63”所以,看看你的样本数据,你肯定有3个以上的列。。。我数62,但后面的逗号等于63。标题行真的是csv的第一行吗?你说得对!标题不是第一行。在CSV文件中,我删除了标题上方的所有行,并且文件在Python中正确读取。谢谢,您也可以在pd.read_csv()中使用skiprows参数执行此操作。在这种情况下,可能data=pd.read\u csv('API\u EN.ATM.CO2E.PC\u DS2\u EN\u csv\u v2\u 10181020.csv',skiprows=4)(或者5,我不确定您得到的错误是否为0索引)。
ParserError                               Traceback (most recent call last)
<ipython-input-96-0d42116a039d> in <module>()
      2                  header=None,
      3                  engine='python',
----> 4                 error_bad_lines=True)

~\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, 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, doublequote, delim_whitespace, low_memory, memory_map, float_precision)
    676                     skip_blank_lines=skip_blank_lines)
    677 
--> 678         return _read(filepath_or_buffer, kwds)
    679 
    680     parser_f.__name__ = name

~\Anaconda3\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds)
    444 
    445     try:
--> 446         data = parser.read(nrows)
    447     finally:
    448         parser.close()

~\Anaconda3\lib\site-packages\pandas\io\parsers.py in read(self, nrows)
   1034                 raise ValueError('skipfooter not supported for iteration')
   1035 
-> 1036         ret = self._engine.read(nrows)
   1037 
   1038         # May alter columns / col_dict

~\Anaconda3\lib\site-packages\pandas\io\parsers.py in read(self, rows)
   2264             content = content[1:]
   2265 
-> 2266         alldata = self._rows_to_cols(content)
   2267         data = self._exclude_implicit_index(alldata)
   2268 

~\Anaconda3\lib\site-packages\pandas\io\parsers.py in _rows_to_cols(self, content)
   2907                     msg += '. ' + reason
   2908 
-> 2909                 self._alert_malformed(msg, row_num + 1)
   2910 
   2911         # see gh-13320

~\Anaconda3\lib\site-packages\pandas\io\parsers.py in _alert_malformed(self, msg, row_num)
   2674 
   2675         if self.error_bad_lines:
-> 2676             raise ParserError(msg)
   2677         elif self.warn_bad_lines:
   2678             base = 'Skipping line {row_num}: '.format(row_num=row_num)

ParserError: Expected 3 fields in line 5, saw 63
"Country_Name","Country_Code","Indicator_Name","Indicator_Code","1960","1961","1962","1963","1964","1965","1966","1967","1968","1969","1970","1971","1972","1973","1974","1975","1976","1977","1978","1979","1980","1981","1982","1983","1984","1985","1986","1987","1988","1989","1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017",
"Aruba","ABW","CO2 emissions (metric tons per capita)","EN.ATM.CO2E.PC","","","","","","","","","","","","","","","","","","","","","","","","","","","2.86831939212055","7.23519803341258","10.0261792105306","10.6347325992922","26.3745032100275","26.0461298009966","21.4425588041328","22.000786163522","21.0362451108214","20.7719361585578","20.3183533653846","20.4268177083943","20.5876691453648","20.311566765912","26.1948752380219","25.9340244138733","25.6711617820448","26.4204520857169","26.5172934158421","27.200707780588","26.9482604728658","27.8955739972338","26.2308466448946","25.9158329472761","24.6705288731078","24.5058352032767","13.1555416906324","8.35129425218293","8.408362637892","","","",
data=pd.read_csv('API_EN.ATM.CO2E.PC_DS2_en_csv_v2_10181020.csv', header=None, engine='python', error_bad_lines=False)