pandas中的read_excel给index_col没有头的错误

时间:2018-01-19 04:57:48

标签: python pandas

下面的代码在Pandas中给我错误:

df1 = pd.read_excel(file1,header=None, index_col=0)

我收到了以下错误,

  

错误:offset = 1 + header TypeError:不支持的操作数类型   for +:'int'和'NoneType'

如果我只有一个索引可以正常工作:

df1 = pd.read_excel(file1,index_col=[0,1])

或者,如果我有多个带有标题的索引列,它的工作正常:

mylist = list(data.frame(matrix(rep(0,9),nrow=3)), data.frame(matrix(rep(c(0,1),9),nrow=3)), data.frame(matrix(rep(1,9),nrow=3)), data.frame(matrix(rep(c(0,1),9),nrow=3, byrow=T)))

那么,如何定义没有标题的多索引列。这里的问题是内部代码试图在多个索引及其失败的情况下向头部添加1(即无)。

文件内容: 第1行:p w 1 2 第2行:q x 3 4

3 个答案:

答案 0 :(得分:0)

df1 = pd.read_excel(file1,header=None, index_col=0)应该适用于这种情况。

index_col=0表示您的index必须将第一列视为dataframe

参见: Different read_csv index_col = None / 0 / False in pandas

答案 1 :(得分:0)

我找到了一个解决方案来阅读excel&单独创建索引:

  df1 = pd.read_excel(file1,header=None) 
  df1.set_index([0,1],inplace=True)

不确定如何在一行中完成。

答案 2 :(得分:0)

这是来自熊猫的一个错误,已报告here。它将在pandas v1.1中修复。

请注意,这独立于正在读取的文件而发生。