0
点赞
收藏
分享

微信扫一扫

Pandas写入Excel文件如何避免覆盖已有Sheet

新建

import pandas as pd

# 读取Excel文件
excel_file = pd.ExcelFile('your_file.xlsx')

# 获取所有工作表的名称
sheet_names = excel_file.sheet_names

# 创建一个新的Excel文件来保存修改后的工作表
writer = pd.ExcelWriter('modified_file.xlsx', engine='xlsxwriter')

# 遍历每个工作表
for sheet_name in sheet_names:
    # 读取工作表数据
    df = excel_file.parse(sheet_name)  ## 
    
    # 对每个元素加1
    df = df + 1
    
    # 将修改后的工作表写入新的Excel文件
    df.to_excel(writer, sheet_name=sheet_name, index=False)

# 保存并关闭新的Excel文件
writer.save()
writer.close()

覆盖?

import pandas as pd

class ExcelProcessor:
    def __init__(self, file_path):
        # 初始化ExcelProcessor类的实例时,传入文件路径,并保存到self.file_path属性中
        self.file_path = file_path
        
        # 使用pd.ExcelFile读取Excel文件,并保存到self.excel_file属性中
        self.excel_file = pd.ExcelFile(file_path)
        
        # 使用sheet_names属性获取所有工作表的名称,并保存到self.sheet_names属性中
        self.sheet_names = self.excel_file.sheet_names
        
        # 创建一个ExcelWriter对象,用于保存修改后的工作表
        self.writer = pd.ExcelWriter(file_path, engine='xlsxwriter')
    
    def process_excel(self):
        # 遍历每个工作表的名称
        for sheet_name in self.sheet_names:
            # 使用parse方法读取工作表数据,并保存到df变量中
            df = self.excel_file.parse(sheet_name)
            
            # 对每个元素加1
            df = df + 1
            
            # 将修改后的工作表写入ExcelWriter对象
            df.to_excel(self.writer, sheet_name=sheet_name, index=False)
        
        # 保存并关闭ExcelWriter对象
        self.writer.save()
        self.writer.close()

# 使用示例
file_path = 'your_file.xlsx'

# 创建ExcelProcessor对象,传入文件路径作为参数
excel_processor = ExcelProcessor(file_path)

# 调用process_excel方法,处理Excel文件
excel_processor.process_excel()

追加

https://www.cnblogs.com/traditional/p/13747447.html

https://www.zhihu.com/tardis/zm/art/344864715?source_id=1005

举报

相关推荐

0 条评论