如果之前已经问过这个问题。我做了一些研究,仍然无法使我的代码正常工作。
我正在尝试将excel文件读入数据帧。 Excel文件 - 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
解决办法:必须传递这些列的索引而不是它们的名称。这就是你得到这个的原因
TypeError:list indices必须是整数,而不是str
因为index_col期望整数索引,因为名称_col也很清楚index
假设您的['DOCO','LEAST','LEASPN']列分别具有索引2,6,8,您可以将它们传递给index_col。例如
file1 = "Book1.xlsx"
Infile = pd.read_excel(file1,Sheet_Name = 'Sheet6', index_col =[2, 6, 8])