Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.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 在Pandas中使用read_csv时使用Skipline时出错_Python_Csv_Pandas - Fatal编程技术网

Python 在Pandas中使用read_csv时使用Skipline时出错

Python 在Pandas中使用read_csv时使用Skipline时出错,python,csv,pandas,Python,Csv,Pandas,我正在尝试使用Pandas库中的read_csv将数据帧导入Python。数据文件(annual_precip.csv)的顶部如下所示: Average annual precipitation and land area ,, ,mm/year,thousand km^2 country,precip,area Afghanistan,327,652.2 Albania,1485,27.4 Algeria,89,2381.7 American Samoa,,0.2 这是我的密码: from

我正在尝试使用Pandas库中的read_csv将数据帧导入Python。数据文件(annual_precip.csv)的顶部如下所示:

Average annual precipitation and land area ,,
,mm/year,thousand km^2
country,precip,area
Afghanistan,327,652.2
Albania,1485,27.4
Algeria,89,2381.7
American Samoa,,0.2
这是我的密码:

from pandas import read_csv
read_csv('annual_precip.csv', index_col = [0], skiprows = 2)
这会产生以下错误:

Traceback (most recent call last):`

File "<ipython-input-894-742b462476f6>", line 1, in <module>
rain =read_csv('exploratory_computing_with_python/notebook5/annual_precip.csv', skiprows = 2, index_col = [0])`

File "/Users/jakoberickson/anaconda/lib/python2.7/site-packages/pandas/io/parsers.py", line 465, in parser_f
return _read(filepath_or_buffer, kwds)`

File "/Users/jakoberickson/anaconda/lib/python2.7/site-packages/pandas/io/parsers.py", line 241, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)`

File "/Users/jakoberickson/anaconda/lib/python2.7/site-packages/pandas/io/parsers.py", line 557, in __init__
self._make_engine(self.engine)`

File "/Users/jakoberickson/anaconda/lib/python2.7/site-packages/pandas/io/parsers.py", line 694, in _make_engine
self._engine = CParserWrapper(self.f, **self.options)`

File "/Users/jakoberickson/anaconda/lib/python2.7/site-packages/pandas/io/parsers.py", line 1061, in __init__
self._reader = _parser.TextReader(src, **kwds)`

File "pandas/parser.pyx", line 512, in pandas.parser.TextReader.__cinit__ (pandas/parser.c:4804)`

ValueError: No columns to parse from file`
回溯(最近一次呼叫最后一次):`
文件“”,第1行,在
rain=read\u csv('prospective\u computing\u with\u python/notebook5/annual\u precip.csv',skiprows=2,index\u col=[0])`
文件“/Users/jakoberickson/anaconda/lib/python2.7/site packages/pandas/io/parsers.py”,第465行,在parser\u f中
返回读取(文件路径或缓冲区,kwds)`
文件“/Users/jakoberickson/anaconda/lib/python2.7/site packages/pandas/io/parsers.py”,第241行,已读
parser=TextFileReader(文件路径或缓冲区,**kwds)`
文件“/Users/jakoberickson/anaconda/lib/python2.7/site packages/pandas/io/parsers.py”,第557行,在__
自制发动机(自制发动机)`
文件“/Users/jakoberickson/anaconda/lib/python2.7/site packages/pandas/io/parsers.py”,第694行,在“make”引擎中
self.\u engine=CParserWrapper(self.f,**self.options)`
文件“/Users/jakoberickson/anaconda/lib/python2.7/site packages/pandas/io/parsers.py”,第1061行,在__
self.\u reader=\u parser.textleader(src,**kwds)`
文件“pandas/parser.pyx”,第512行,位于pandas.parser.TextReader.\u_u-cinit\u_;(pandas/parser.c:4804)中`
ValueError:没有要从文件中分析的列`

如果跳过1行或0行,但列的名称不正确,则不会出错。我正在优胜美地运行Anaconda包中的Spyder 2.3.4,如果这有什么不同的话

它适用于示例中的csv示例,但您的问题是csv文件包含不可打印的字符

试试这个:

df=pd.read\u csv('annual\u precip.csv',index\u col=[0],encoding='utf-8',skiprows=2)

我将我的
pandas
更新为“0.16.1”,现在我没有任何问题。感谢您的帮助@Wajdi Farhani

它适用于您的postWajdi中的csv示例,我尝试了一下,但得到了一个不同的错误:
cparserror:error标记化数据。C错误:在源上调用读取(nbytes)失败。使用
engine='python'
参数尝试engine='python'。
会抛出另一个错误
UTF-16流不以BOM开头。
hmmmm。。。你有什么版本的熊猫@BabyJ0.15.2@Wajdi Farhani