【发布时间】:2018-04-28 09:04:41
【问题描述】:
我只想将某些列从 excel 文件中读取到 pandas 数据框中。我想通过usecols 的列范围指定这个来指定这个,但是我遇到了一个错误。将列范围指定为字母的正确方法是什么(是的,我知道我可以提供列索引)?
import pandas as pd
df = pd.read_excel("test.xlsx", usecols="A:AV", header=None)
~/anaconda3/lib/python3.5/site-packages/pandas/io/excel.py 在 read_excel(io, sheetname, header, skiprows, skip_footer, index_col, 名称,parse_cols,parse_dates,date_parser,na_values,数千, convert_float,has_index_names,转换器,dtype,true_values, false_values, 引擎, 挤压, **kwds) 第207章 208 真值=真值,假值=假值,挤压=挤压, --> 209 **kwds) 210 211
~/anaconda3/lib/python3.5/site-packages/pandas/io/excel.py 在 _parse_excel(self, sheetname, header, skiprows, names, skip_footer, index_col, has_index_names, parse_cols, parse_dates, date_parser, na_values, 数千, convert_float, true_values, false_values, 详细,dtype,挤压,**kwds) 508 挤压=挤压, 第509章 --> 510 **kwds) 511 512 输出[asheetname] = parser.read()
~/anaconda3/lib/python3.5/site-packages/pandas/io/parsers.py 在 TextParser(*args, **kwds) 1910 """ 1911 kwds['engine'] = 'Python' -> 1912 返回 TextFileReader(*args, **kwds) 1913 1914
~/anaconda3/lib/python3.5/site-packages/pandas/io/parsers.py 在 init(self, f, engine, **kwds) 第762章 763 --> 764 self._make_engine(self.engine) 765 766 def 关闭(自我):
~/anaconda3/lib/python3.5/site-packages/pandas/io/parsers.py 在 _make_engine(自我,引擎) 993 ' "c", "python", 或' ' "python-fwf")'.format( 994引擎=引擎)) --> 995 self._engine = klass(self.f, **self.options) 996 997 def_failover_to_python(自我):
~/anaconda3/lib/python3.5/site-packages/pandas/io/parsers.py 在 init(self, f, **kwds) 1994 # 如果指定了,则从 self.usecols 推断列索引。 1995 自我._col_indices = 没有 -> 1996 self.columns, self.num_original_columns = self._infer_columns() 1997 1998 # 现在 self.columns 有 我们将处理的列集。
~/anaconda3/lib/python3.5/site-packages/pandas/io/parsers.py 在 _infer_columns(self) 2387 else: 2388 列 = [lrange(ncols)] -> 2389 列 = self._handle_usecols(columns, columns[0]) 2390 else: 2391 if self.usecols 为 None 或 len(names) >= num_original_columns:
~/anaconda3/lib/python3.5/site-packages/pandas/io/parsers.py 在 _handle_usecols(self, columns, usecols_key) 2422 for col in self.usecols: 2423 if isinstance(col, string_types): -> 2424 col_indices.append(usecols_key.index(col)) 2425
否则:2426 col_indices.append(col)
In [20]: pd.__version__
Out[20]: '0.20.2'
文件:test.xlsx
【问题讨论】: