从 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()
假设我有一个 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()