Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 迭代读取excel文件中的工作表并在Python中修改列名_Python 3.x_Pandas_Dataframe_Xlsxwriter - Fatal编程技术网

Python 3.x 迭代读取excel文件中的工作表并在Python中修改列名

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”、“优惠券”、“发行日期”、“到期日期” 现在,我需要反复阅读所有工作表,并使

假设我有一个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”、“优惠券”、“发行日期”、“到期日期”

现在,我需要反复阅读所有工作表,并使用
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”未定义
,您忘记定义
工作表名称了吗?