对不起,如果之前曾有人问过这个问题。我做了一些研究,但仍然无法使我的代码正常工作。
我正在尝试将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
答案 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的行标签。如果没有这样的列,则不传递任何信息。