只读取某些列

我只想从excel文件中读取某些列成pandas数据框。 我想通过usecols通过列范围指定这个来指定这个,但是我面临一个错误。 什么是正确的方式来指定列的范围为字母(是的,我知道我可以提供列的指示,而不是)?

 import pandas as pd df = pd.read_excel("test.xlsx", usecols="A:AV", header=None) 

在read_excel(io,sheetname,header,skiprows,skip_footer,index_col,names,parse_cols,parse_dates,date_parser,na_values,数千,convert_float中,〜/ anaconda3 / lib / python3.5 / site-packages / pandas / io / has_index_names,converters,dtype,true_values,false_values,engine,squeeze,** kwds)207 skip_footer = skip_footer,转换器=转换器,dtype = dtype,208 true_values = true_values,false_values = false_values,squeeze = squeeze, – > 209 ** kwds)210 211

〜/ anaconda3 / lib / python3.5 / site-packages / pandas / io / excel.py in _parse_excel(self,sheetname,header,skiprows,names,skip_footer,index_col,has_index_names,parse_cols,parse_dates,date_parser,na_values, ()()()()()()()()()

〜/ anaconda3 / lib / python3.5 / site-packages / pandas / io / parsers.py in TextParser(* args,** kwds)1910“”“1911 kwds ['engine'] ='python' – > 1912 return TextFileReader(* args,** kwds)1913 1914

init (self,f,engine,** kwds)中〜/ anaconda3 / lib / python3.5 / site-packages / pandas / io / parsers.py 762 self.options ['has_index_names'] = kwds ['has_index_names'] 763 – > 764 self._make_engine(self.engine)765 766 def close(self):

〜/ anaconda3 / lib / python3.5 / site-packages / pandas / io / parsers.py in _make_engine(self,engine)993'“c”,“python”或“'”python-fwf“)'。 (994 engine = engine)) – > 995 self._engine = klass(s​​elf.f,** self.options)996 997 def _failover_to_python(self):

init (self,f,** kwds)中的〜/ anaconda3 / lib / python3.5 / site-packages / pandas / io / parsers.py 1994#如果指定了self.usecols,则推断列索引。 1995 self._col_indices = None – > 1996 self.columns,self.num_original_columns = self._infer_columns()1997 1998#现在self.columns具有我们要处理的一组列。

〜/ anaconda3 / lib / python3.5 / site-packages / pandas / io / parsers.py in _infer_columns(self)2387 else:2388 columns = [lrange(ncols)] – > 2389 columns = self._handle_usecols(columns,columns [0])2390 else:2391如果self.usecols是None或len(names)> = num_original_columns:

〜/ anaconda3 / lib / python3.5 / site-packages / pandas / io / parsers.py in _handle_usecols(self,columns,usecols_key)2422 for col in self.usecols:2423如果isinstance(col,string_types): – > 2424 col_indices.append(usecols_key.index(col))2425
else:2426 col_indices.append(col)

 In [20]: pd.__version__ Out[20]: '0.20.2' 

文件: test.xlsx

需要升级到pandas 0.21.0 ( 开发讨论 ):

 df = pd.read_excel("test.xlsx", usecols='A:B', header=None) print (df.head()) 0 1 0 sequence 2015-02-11 00:00:00 1 Aa 6239 2 AaBpL5 NaN 3 AaCjL5 NaN 4 AaDrL2 NaN