使用 Python 中的 Pandas 重命名多个工作表中的列 (XLS)
Using Pandas in Python to rename columns across multiple sheets (XLS)
我有一个 excel 文件 (.xls),其中有多个页眉,我想使用 pandas 重命名然后重新保存文档。这就是我目前正在尝试的:
def read_File():
file = 'TheFile.xls'
xls = pd.read_excel(file)
xls.rename(columns = {'aa': 'A','Aa':'A', 'bb':'B'}, inplace =True)
xls.to_excel(file, index = False)
我认为这是部分工作,但保存的文件只保留了第一个工作表,我如何才能使整个工作簿工作?
我不确定我是否遗漏了一些明显的东西,并且有一种更简单的方法可以实现我想要的,任何帮助将不胜感激。
谢谢
根据 pd.read_excel 方法的 Pandas 文档,您可以指定 sheet_name = None
并取回数据帧字典(每个 sheet 一个)。
你可以这样试试:
from pandas import ExcelWriter
def read_File():
file = "TheFile.xls"
sheets = pd.read_excel(file, sheet_name=None)
with ExcelWriter(file) as writer:
for name, sheet in sheets.items():
sheet.rename(columns={"aa": "A", "Aa": "A", "bb": "B"}, inplace=True)
sheet.to_excel(excel_writer=writer, sheet_name=name, index=False)
writer.save()
我有一个 excel 文件 (.xls),其中有多个页眉,我想使用 pandas 重命名然后重新保存文档。这就是我目前正在尝试的:
def read_File():
file = 'TheFile.xls'
xls = pd.read_excel(file)
xls.rename(columns = {'aa': 'A','Aa':'A', 'bb':'B'}, inplace =True)
xls.to_excel(file, index = False)
我认为这是部分工作,但保存的文件只保留了第一个工作表,我如何才能使整个工作簿工作?
我不确定我是否遗漏了一些明显的东西,并且有一种更简单的方法可以实现我想要的,任何帮助将不胜感激。
谢谢
根据 pd.read_excel 方法的 Pandas 文档,您可以指定 sheet_name = None
并取回数据帧字典(每个 sheet 一个)。
你可以这样试试:
from pandas import ExcelWriter
def read_File():
file = "TheFile.xls"
sheets = pd.read_excel(file, sheet_name=None)
with ExcelWriter(file) as writer:
for name, sheet in sheets.items():
sheet.rename(columns={"aa": "A", "Aa": "A", "bb": "B"}, inplace=True)
sheet.to_excel(excel_writer=writer, sheet_name=name, index=False)
writer.save()