DataFrame中read_excel中的多个索引(TypeError:列表索引必须是整数,而不是str)

时间:2019-03-13 17:45:46

标签: python pandas dataframe

对不起,如果之前曾有人问过这个问题。我做了一些研究,但仍然无法使我的代码正常工作。

我正在尝试将Excel文件读入数据框。 Excel file - Book1

import numpy as np
import pandas as pd
import io

file1 = "Book1.xlsx"
Infile = pd.read_excel(file1,Sheet_Name = 'Sheet6',index_col =['DOCO','LEAST','LEASPN'])
Infile.head()
print "Test"

如何指定表在索引中具有三列并导入到数据框中?

这是我遇到的错误。

   return func(*args, **kwargs)
  File "C:\py\lib\site-packages\pandas\io\excel.py", line 238, in read_excel
    false_values=false_values, squeeze=squeeze, **kwds)
  File "C:\py\lib\site-packages\pandas\io\excel.py", line 518, in _parse_excel
    last = data[offset][col]
TypeError: list indices must be integers, not str

1 个答案:

答案 0 :(得分:0)

您必须传递这些列的索引,而不是它们的名称。这就是您获得

的原因
  

TypeError:列表索引必须是整数,而不是str

因为index_col期望整数索引,这在名称 index _ col

中也很清楚

假设您的['DOCO','LEAST','LEASPN']列分别具有索引2、6、8,则可以将其传递给index_col。例如

file1 = "Book1.xlsx"
Infile = pd.read_excel(file1,Sheet_Name = 'Sheet6', index_col =[2, 6, 8])

来自official docs(重点是我)

  

index_col: int,int列表,默认为无   列(0索引)用作DataFrame的行标签。如果没有这样的列,则不传递任何信息。