python - 用 Pandas 更改excel工作表的名称

标签 python excel pandas dataframe

import pandas as pd
import numpy as np
df = pd.read_excel(r"C:\Users\venkagop\Subbu\promo validation testing\P 02. Promotions-UK C1.xls")
df = df[['Promotions', 'Promotions: AE', 'Promotions: Anaplan ID', 'Promotions: Is Optima Scenario?', 'Promotions: SIDs', 'Set Inactive?', 'Start Date', 'End Date', 'Promo Period', 'Promo Optima Status', 'Change Promo Status']]
df = df[(df['Promo Period'] == 'FY1819')]
df = df[(df['Set Inactive?'] == 0 ) & (df['Promotions: Is Optima Scenario?'] == 1)]
df.dropna(subset=['Promotions: SIDs'], inplace=True)
df['Optima vs Anaplan Promo Status Validation'] = ""
df['Optima vs Anaplan Promo Status Validation'] = np.where(df['Promo Optima Status'] == df['Change Promo Status'], 'True', 'False')
df.to_excel(r"C:\Users\venkagop\Subbu\mytest.xls", index = False)
#after this i want to change sheeet1 name to some other name#

最佳答案

有两种方法可以解决这个问题。

方法 1

使用 sheet_name 参数将 Excel 文件从头开始保存到正确的工作表名称。

import pandas as pd

writer = pd.ExcelWriter(r'C:\Users\venkagop\Subbu\mytest.xls')
df.to_excel(writer, sheet_name='MySheetName', index=False)
writer.save()

方法 2

如果方法 1 不可行,请稍后使用 openpyxl 更改工作表名称。这种方法的优点是您无需再次将 pandas 数据帧转换为 Excel 格式的成本。

import openpyxl

file_loc = r'C:\Users\venkagop\Subbu\mytest.xls'

ss = openpyxl.load_workbook(file_loc)
ss_sheet = ss.get_sheet_by_name('Sheet1')
ss_sheet.title = 'MySheetName'
ss.save(file_loc)

关于python - 用 Pandas 更改excel工作表的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50020659/

相关文章:

python矩阵搜索

python - 如何使用 python-docx 将样式应用于段落?

python - ansible 无法使用 "brew install ansible"命令完美安装在 MacOS 中不起作用?错误 : -sh:/usr/local/bin/ansible: No such file or directory

xml - 创建 XML 以导入 Excel,特别是日期

python - Pandas:删除带有某些日期的字符串

python - 直到行 Pandas 的最小值

python - jupyter-console 无法启动,但 jupyter-notebook 很好

python - 无法使用 Pandas 写入具有有效日期格式的 Excel 工作表

excel - VB - 插入空白行

Python Pandas 累积乘法