pandas阅读excel文件与简单的多列索引

我有一个看起来像这样的excel文件

在这里输入图像说明

当我读这个pandas.read_excelpandas返回一个df,看起来像这样:

1998 Unnamed: 1 1999 Unnamed: 3 \ Angélus 20 -35 16 au Angludet 17 au 16 vo Arnaud de Jacquemeau 16 vo 16 vo Ausone 20 -40 18 -25 Barde-Haut 17 au 17 vo 

有没有办法告诉pandas关于多列的输出呢?

  1998 1998 1999 1999 Angélus 20 -35 16 au Angludet 17 au 16 vo Arnaud de Jacquemeau 16 vo 16 vo Ausone 20 -40 18 -25 Barde-Haut 17 au 17 vo 

要么

  1998 1999 Angélus 20 -35 16 au Angludet 17 au 16 vo Arnaud de Jacquemeau 16 vo 16 vo Ausone 20 -40 18 -25 Barde-Haut 17 au 17 vo 

Thx Patrik

你可以尝试:

 df.columns = df.columns.to_series().str.replace(r'^Unnamed', np.nan).fillna(method='ffill').tolist() 

您需要创build一个新的列列表,然后重新定义列名称,如下所示:

 df.columns = df.columns.astype(str) new_columns = [df.columns[i-1] if df.columns[i].find("Unnamed") >= 0 else df.columns[i] for i in range(len(df.columns))] df.columns = new_columns 

或者你可以通过一行来完成

 df.columns = [df.columns[i-1] if df.columns[i].find("Unnamed") >= 0 else df.columns[i] for i in range(len(df.columns))]