从 excel 文件中迭代读取工作表并修改 Python 中的列名

Iterately read sheets from excel file and modify column names in Python

假设我有一个 excel 文件 data.xlsx,其中包含多个 sheet:sheet1, sheet2, sheet3, etc.

import pandas as pd

xls = pd.ExcelFile('data.xlsx')
for sheet in xls.sheet_names:
    df = pd.read_excel('data.xlsx', sheet_name=sheet)

对于每个 sheet,它具有相同的列名:'ISIN', 'Coupon', 'Issue Date', 'Maturity Date'

现在我需要迭代读取所有sheet并用date_list的元素修改列名ISIN,即date_list = ['2021-01', '2021-02', '2021-03', ...],然后保存为excel 文件.

最终文件的 sheet1 的列名将是 ['2021-01', 'Coupon', 'Issue Date', 'Maturity Date']sheet2 的将是 ['2021-02', 'Coupon', 'Issue Date', 'Maturity Date'],等等

我怎么能在 Python 中做到这一点?谢谢。

将数据框的列名称重命名为 rename 并再次保存文件。

import pandas as pd
xlsx = pd.ExcelFile('data.xlsx')

writer = pd.ExcelWriter('data_new.xlsx')

for i, sheet_name in enumerate(xlsx.sheet_names):
    df = xlsx.parse(sheet_name)

    # renmae ISIN to '2021-01'...
    df.rename(columns={'ISIN': date_list[i]}, inplace=True)
    df.to_excel(writer, sheet_name=sheet) 

writer.save()