Python 3.x 迭代读取excel文件中的工作表并在Python中修改列名
假设我有一个excel文件Python 3.x 迭代读取excel文件中的工作表并在Python中修改列名,python-3.x,pandas,dataframe,xlsxwriter,Python 3.x,Pandas,Dataframe,Xlsxwriter,假设我有一个excel文件data.xlsx,其中包含多个工作表:sheet1、sheet2、sheet3等。 import pandas as pd xls = pd.ExcelFile('data.xlsx') for sheet in xls.sheet_names: df = pd.read_excel('data.xlsx', sheet_name=sheet) 每一张都有相同的列名:“ISIN”、“优惠券”、“发行日期”、“到期日期” 现在,我需要反复阅读所有工作表,并使
data.xlsx
,其中包含多个工作表:sheet1、sheet2、sheet3等。
import pandas as pd
xls = pd.ExcelFile('data.xlsx')
for sheet in xls.sheet_names:
df = pd.read_excel('data.xlsx', sheet_name=sheet)
每一张都有相同的列名:“ISIN”、“优惠券”、“发行日期”、“到期日期”
现在,我需要反复阅读所有工作表,并使用date\u list
的元素修改列名ISIN
,即date\u list=['2021-01'、'2021-02'、'2021-03'、…]
,然后保存回excel文件
最终文件的sheet1
的列名将是['2021-01'、'优惠券'、'发行日期'、'到期日']
,sheet2
的列名将是['2021-02'、'优惠券'、'发行日期'、'到期日']
,等等
在Python中如何实现这一点?谢谢。使用
rename
重命名数据框的列名,然后再次保存文件
将熊猫作为pd导入
xlsx=pd.ExcelFile('data.xlsx')
writer=pd.ExcelWriter('data\u new.xlsx')
对于i,枚举中的工作表名称(xlsx.sheet\u名称):
df=xlsx.parse(图纸名称)
#伦马伊辛到2021-01年。。。
rename(columns={'ISIN':date_list[i]},inplace=True)
df.to\u excel(书写器,工作表\u名称=工作表)
writer.save()
它引发了一个语法错误:无法将函数调用分配给,对于编写器为pd.ExcelWriter('data\u new.xlsx'):
。好的,我将使用writer.save()
而不是带有我的错误,带有pd.ExcelWriter('data\u new.xlsx')作为编写器:
将起作用名称错误:名称“sheet\u name”未定义
,您忘记定义工作表名称了吗?