当前位置: 首页 > news >正文

优化稳定网站排名石岩小学网站建设

优化稳定网站排名,石岩小学网站建设,wordpress主题基础,律师事务所网站建设合并多个Excel文件到一个文件,并保留格式 需求介绍第一步:创建目标文件第二步:创建任务列表第三步:合并文件第四步:处理合并后的文件之调用程序打开并保存一次之前生成的Excel文件第五步:处理合并后的文件之…

合并多个Excel文件到一个文件,并保留格式

  • 需求介绍
  • 第一步:创建目标文件
  • 第二步:创建任务列表
  • 第三步:合并文件
  • 第四步:处理合并后的文件之调用程序打开并保存一次之前生成的Excel文件
  • 第五步:处理合并后的文件之删除合并后文件的无用表单
  • 完整代码

需求介绍

假设目前存在多个Excel文件,文件名如:A01.xlsx,A02.xlsx,A03.xlsx,A04.xlsx,

现在需要将A01.xlsx中的表单Sheet1,合并到合并后文件.xlsx中的A1表单中,
A02.xlsx中的表单Sheet1,合并到合并后文件.xlsx中的A2表单中,以此类推。

第一步:创建目标文件

def creat_new_excel(file_path):# 创建一个新的Excel文件content_list = []df = pd.DataFrame(content_list)df.to_excel(file_path, sheet_name="测试")  # 设置统一的表单名称,便于后期统一删除returntarget_file = r"D:\任务\pythonProject\汇总后文件.xlsx"  creat_new_excel(target_file) # 创建目标文件

第二步:创建任务列表

def source_file():# 文件路径,文件名称及后缀source_file_list = [[r"D:\任务\pythonProject\A\A01.xlsx", "A01.xlsx"],   [r"D:\任务\pythonProject\A\A02.xlsx", "A02.xlsx"],[r"D:\任务\pythonProject\A\A03.xlsx", "A03.xlsx"],]return source_file_list

第三步:合并文件

def target(target_file):destWorkbook = Workbook()destWorkbook.LoadFromFile(target_file)return destWorkbookdef get_source_sheet(destWorkbook,source_file_path,source_file_name):sourceWorkbook = Workbook()sourceWorkbook.LoadFromFile(source_file_path)# 复制之后的sheet名sourceSheet = sourceWorkbook.Worksheets[0]  # 子文件中的第一个Sheet,可以根据需求进行调整sheetName = source_file_name[:-5]destSheet = destWorkbook.Worksheets.Add(sheetName)# 复制destSheet.CopyFrom(sourceSheet)destWorkbook.CopyTheme(sourceWorkbook)sourceWorkbook.Dispose()return destWorkbookfor source in source_file():destWorkbook = get_source_sheet(target(target_file),source[0],source[1])# 保存,根据Excel版本不同destWorkbook.SaveToFile(target_file, ExcelVersion.Version2016)# 释放destWorkbook.Dispose()

第四步:处理合并后的文件之调用程序打开并保存一次之前生成的Excel文件

这一步的原因是,openpyxl不能直接读取通过Python生成的xlsx文件
解决方式有两种:

  • 一是手动打开文件并保存
  • 二是通过程序进行打开并保存
def just_open(filename):xlApp = Dispatch("Excel.Application")xlApp.Visible = FalsexlBook = xlApp.Workbooks.Open(filename)xlBook.Save()xlBook.Close()xlApp.Quit()del xlApp

第五步:处理合并后的文件之删除合并后文件的无用表单

def deal_file(filename):# import openpyxl# 加载Excel文件wb = load_workbook(filename=filename, read_only=False)# print(wb.sheetnames)wb.remove(wb["测试"])  # 移除,新建Excel文件的时候,生成的表单wb.remove(wb["Evaluation Warning"])  # 移除,使用spire.xls模块生成的表单wb.save(filename)

完整代码

from spire.xls import Workbook, ExcelVersion  # pip install spire.xls
from win32com.client import Dispatch
from openpyxl import load_workbook  # pip install openpyxl
import pandas as pd
import osdef creat_new_excel(file_path):# 创建一个新的Excel文件content_list = []df = pd.DataFrame(content_list)df.to_excel(file_path, sheet_name="测试")  # 设置统一的表单名称,便于后期统一删除returndef source_file():source_file_list = [[r"D:\任务\pythonProject\A\A01.xlsx", "A01.xlsx"],   # 文件路径,文件名称及后缀[r"D:\任务\pythonProject\A\A02.xlsx", "A02.xlsx"],[r"D:\任务\pythonProject\A\A03.xlsx", "A03.xlsx"],]return source_file_listdef deal_file(filename):# import openpyxl# 加载Excel文件wb = load_workbook(filename=filename, read_only=False)# print(wb.sheetnames)wb.remove(wb["测试"])  # 移除,新建Excel文件的时候,生成的表单wb.remove(wb["Evaluation Warning"])  # 移除,使用spire.xls模块生成的表单wb.save(filename)def target(target_file):destWorkbook = Workbook()destWorkbook.LoadFromFile(target_file)return destWorkbookdef get_source_sheet(destWorkbook,source_file_path,source_file_name):sourceWorkbook = Workbook()sourceWorkbook.LoadFromFile(source_file_path)# 复制之后的sheet名sourceSheet = sourceWorkbook.Worksheets[0]  # 子文件中的第一个Sheet,可以根据需求进行调整sheetName = source_file_name[:-5]destSheet = destWorkbook.Worksheets.Add(sheetName)# 复制destSheet.CopyFrom(sourceSheet)destWorkbook.CopyTheme(sourceWorkbook)sourceWorkbook.Dispose()return destWorkbookdef just_open(filename):xlApp = Dispatch("Excel.Application")xlApp.Visible = FalsexlBook = xlApp.Workbooks.Open(filename)xlBook.Save()xlBook.Close()xlApp.Quit()del xlAppdef run():target_file = r"D:\任务\pythonProject\汇总后文件.xlsx"  creat_new_excel(target_file) # 创建目标文件for source in source_file():destWorkbook = get_source_sheet(target(target_file),source[0],source[1])# 保存,根据Excel版本不同destWorkbook.SaveToFile(target_file, ExcelVersion.Version2016)# 释放# sourceWorkbook.Dispose()destWorkbook.Dispose()# 删除表just_open(target_file)  deal_file(target_file)print(target_file)if __name__ == '__main__':run()
http://www.dtcms.com/a/472564.html

相关文章:

  • 平台型网站如何推广嘉定网络公司
  • 西安网站建站优化精通网站建设 百度云
  • 北京网站设计公司兴田德润放心自适应文章网站模板
  • 高端网站建设 选择磐石网络网站做百度推广
  • 金华市建设监理协会网站怎么做网站icp备案
  • 徐汇企业网站建设网站关键字搜索功能
  • 广州那家做网站最好沈阳网站制作公司
  • 汽车租赁网站设计厦门网站推广公司哪家好
  • 网站备案 代理php网站验证码
  • 做手机网站湖南省工商注册登记网
  • 网站套餐网站改版的影响
  • 用wordpress仿站国外做机械设计任务的网站
  • 自己买服务器能在wordpress建网站05网数学书答案
  • 益阳营销网站建设铝单板设计师招聘网
  • 如何让网站做网页适配西地那非片有延时效果吗
  • 做视频网站成本合肥建设有限公司
  • 找做cad彩拼的网站wordpress 预约
  • 域名购买网站微信网站建设知识
  • 长沙网站开发微信公众号怎么创建多少钱
  • 如何做网站wordpress整合ckplay
  • 模拟百度搜索词进入网站在网站挂广告一个月多少钱
  • 网站建设的开发方式知乎线上名片制作
  • 有哪个网站可以做ppt赚钱计算机专业学什么
  • 中山精品网站建设行情wordpress网站迁移
  • 怎样把网站做成app网站制作的总结与体会
  • 枝江市住房和城乡建设局网站重庆装修公司平台
  • 网站后台管理员密码忘记北京软件研发公司
  • 开发公司 网站建设最便宜建站
  • 有没有什么东西可以做网站seo软件
  • .net做网站的优缺点推广普通话主题手抄报