Python 使用pandas修改excel文件的标题

Python 使用pandas修改excel文件的标题,python,excel,pandas,Python,Excel,Pandas,我有一个日期列表,我正试图将该日期作为excel文件的标题。 我曾尝试使用Dataframe和dict,但它会覆盖从excel中删除的文件和员工姓名,这是我不想要的。这是示例excel标题图像: 以及以下代码: dates = ['13-Dec', '20-Dec', '27-Dec', '03-Jan', '10-Jan'] df = pd.read_excel('C://Users//AMANSHAW//Desktop//color_it.xlsx') df.columns = dates

我有一个日期列表,我正试图将该日期作为excel文件的标题。 我曾尝试使用Dataframe和dict,但它会覆盖从excel中删除的文件和员工姓名,这是我不想要的。这是示例excel标题图像:

以及以下代码:

dates = ['13-Dec', '20-Dec', '27-Dec', '03-Jan', '10-Jan']
df = pd.read_excel('C://Users//AMANSHAW//Desktop//color_it.xlsx')
df.columns = dates
df.rename(columns = dates , inplace=True)
错误

dates = ['13-Dec', '20-Dec', '27-Dec', '03-Jan', '10-Jan']
df = pd.read_excel('C://Users//AMANSHAW//Desktop//color_it.xlsx')
df.columns = dates
df.rename(columns = dates , inplace=True)
TypeError:“列表”对象不可调用


正如文档中所述,您最好使用字典来明确:

dates = {'A': '13-Dec', 'B': '20-Dec', 'C': '27-Dec', 'D': '03-Jan', 'E', '10-Jan'}
df = pd.read_excel('C://Users//AMANSHAW//Desktop//color_it.xlsx')
df.columns = dates
df.rename(columns = dates, inplace=True)

从您附加的图像中,您的数据只有一列,因此您无法直接向不存在的列添加标题。我建议您执行以下操作以添加空列并为其提供标题:

dates = ['13-Dec', '20-Dec', '27-Dec', '03-Jan', '10-Jan']
df = pd.read_excel('C://Users//AMANSHAW//Desktop//color_it.xlsx')
for date in dates:
    df[date] = np.nan   # or df[date] = ""
可以使用添加新的空列

df = df.reindex(columns= df.columns.to_list() + dates)

我尝试了这个方法,但它添加了标题,我想做的是,每次运行脚本时,我都会得到一个新的日期列表,我希望日期作为excel的标题,成员列保持不变,从B列开始,日期将作为标题。检查示例标题图像以供参考。您可以将其存储在另一个临时数据帧中,并保持原始状态
df_temp=df.reindex(columns=df.columns.to_list()+日期)
获取此错误,ValueError:长度不匹配:预期轴有1个元素,新值有5个元素。由于excel只有一列,我无法直接将标题添加到不存在的列中。因此,是否要将列标题替换为不存在的列?还是只想替换现有的尽可能多的头文件?