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

织梦cms网站建设建筑工程管理系统平台

织梦cms网站建设,建筑工程管理系统平台,网站图片添加alt标签,网页期末大作业继续上篇《Python在实际工作中的运用-合并Excel表格》使用了一段时间后,发现对于行数比较少的表格采用此方法可以非常高效的完成数据合并,但是数据量较大时,如达到单个工作表几十万行时速度就会变慢甚至死机,结合《Python在实际工…

        继续上篇《Python在实际工作中的运用-合并Excel表格》使用了一段时间后,发现对于行数比较少的表格采用此方法可以非常高效的完成数据合并,但是数据量较大时,如达到单个工作表几十万行时速度就会变慢甚至死机,结合《Python在实际工作中的运用-通用格式CSV文件自动转换XLSX》这篇文章所用到的知识,对多个上十万级别数据进行合并XLSX表格产生了新的思路:可以将sheet工作表逐个导入到SQLite里合并,然后再导出为单个合并后的Excel文件,脚本如下:

本脚本只需要设置好file_path_name参数,运行脚本即可得到合并后的表格

# 待合并表格路径
file_path_name=f"D:\工作簿1.xlsx"

完整代码如下: 

import os
import sqlite3
import time
import warnings
from pathlib import Path
import pandas as pd
from openpyxl import load_workbookwarnings.filterwarnings('ignore')
# 待合并表格路径
file_path_name=f"D:\工作簿1.xlsx"
# 跳过行数(用于跳过不需要的行,请不要跳过标题行,会报错)
skiprows_num = 0# 获取CSV文件所在目录
file_dirname = os.path.dirname(file_path_name)
# 获取CSV文件名(不带扩展名)
file_name = Path(file_path_name).stem# 删除重建数据库
dbfile_path_name = f'{file_dirname}/{file_name}.db'
if os.path.exists(dbfile_path_name):os.remove(dbfile_path_name)# 连接到 SQLite 数据库(如果数据库文件不存在,会自动创建一个新的数据库文件)conn = sqlite3.connect(dbfile_path_name)
else:conn = sqlite3.connect(dbfile_path_name)# 记录开始时间
start_time = time.time()
wb = load_workbook(file_path_name)
sheets = wb.sheetnames
# 将Excel表格存入SQLite库中
for i in sheets:try:df = pd.read_excel(file_path_name, sheet_name=i,engine='openpyxl',skiprows=skiprows_num)df.to_sql(f'{file_name}',conn,if_exists='append',index=False)print(f'{file_name}的[{i}]完成合并')except Exception as e:print(f'{file_name}[{i}]报错:{e}')# 在这里将导入的数据经过SQLite数据库转化为Excel表导出
df = pd.read_sql_query(f'select * from {file_name}',conn)
df.to_excel(f'{file_dirname}/{file_name}_(合并).xlsx',index=False)
# 记录结束时间
end_time = time.time()
print(f'共完成{file_name}的{len(sheets)}个子表的合并,导出路径{file_dirname}\\{file_name}_(合并).xlsx,用时:{end_time-start_time}秒')

http://www.dtcms.com/a/554533.html

相关文章:

  • 从真人动作到机器人执行:惯性动捕如何打通数据链路?
  • 重庆网站联盟wordpress装饰公司主题
  • 手机上可以做网站网站的服务器怎么做的
  • AI驱动的算力资产运营变革
  • 生态环境影响评价技术;生物多样性计算方法;生态脆弱度评价;生态保护措施;公路铁路类、机场建设类、水利类等项目生态环评
  • 成都网站建设 erp怎么创建个人微信公众号
  • npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本,解决方法
  • 个人网站制作在线wordpress产品定制插件
  • 辽宁省建设厅注册中心网站wordpress 获取文章id
  • Linux内核中的隐形守护者:深入解读InfiniBand ib_addr_dummy虚拟驱动
  • 上传自己的python工具至PyPI
  • P4592 TJOI2018 异或
  • 案例应聘网络营销做网站推广十大免费软件免费下载
  • Java 学习30:JavaBean 类、测试类与工具类
  • 菏泽网站建设菏泽wordpress顶部栏
  • 网站项目需求文档微信指数查询入口
  • 03_FastMCP 2.x 中文文档之FastMCP快速入门
  • 网站建设化学图片织梦协会网站模板
  • 帝国网站管理系统 数据库阿城区建设小学网站
  • 哪里可以做免费网站百度seo关键词排名优化软件
  • 毕节市城乡建设局网站html5手机网站发布
  • linux之arm SMMUv3 STE表和CD表数据格式分析(3)
  • 云蝠智能VoiceAgent 2.0,四大功能让语音智能体更智能、更包容
  • 娱乐网站建设流程个人网页设计论文免费
  • 青岛市专业做网站的吗网络文章发布平台
  • 强化学习之入门笔记(三)
  • css - 实现三角形 div 容器,用css画一个三角形(提供示例源码)简单粗暴几行代码搞定!
  • 长沙 php企业网站系统新动力网站建设公司
  • 全流程开发智能体 一
  • wordpress怎么当站长淄博公司网站建设价格