关于pandas中to_sql性能太慢的优化

2023-11-02

pd.to_sql(table_name, db)这种方法虽然很简单,但是性能特别慢;插入6万条数据,需要将近5分钟

engine = sqla.create_engine('postgresql+psycopg2://user:pwd@IPCLOUDMAP')
df = pd.read_excel(filename, skiprows=0)
df.to_sql('yun_ying_jian_ce_2', engine, index=False, if_exists='append')

优化方法,利用StringIO,和copy_from , 此方法可在1.68s内将数据插入表中

from io import StringIO # 此处有的会使用 from cStringIO import StringIO 

engine = sqla.create_engine('postgresql+psycopg2://user:pwd@IPCLOUDMAP')
df = pd.read_excel(filename, skiprows=0)
df.to_sql('yun_ying_jian_ce_2', engine, index=False, if_exists='append')

 output = StringIO()
 df.to_csv(output, sep='\t', index=False, header=False)
 output.getvalue()
 output.seek(0)
 connection = engine.raw_connection()
 cursor = connection.cursor()
 cursor.copy_from(output, 'yun_ying_jian_ce_2', null='')
 connection.commit()
 cursor.close()

注意sqlServer就别想使用 这种方法了,因为pyodbc没有copy_from , copy_from是pg的特性,有哪位大佬解决了sqlServer 使用copy_from,恭候留言

engine = sqla.create_engine('mssql+pyodbc://sa:pwd#@IP:1433/CLOUDMAP?driver=SQL+Server')

AttributeError: 'pyodbc.Cursor' object has no attribute 'copy_from'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于pandas中to_sql性能太慢的优化 的相关文章

随机推荐

  • TypeError: Cannot read properties of undefined (reading ‘licenseNum‘) at Proxy

    这是因为在定义的时候 我们只定义了一层的结构 比如 info 其实后端返回的是 info goods goodsName cheng 此时调用goodsName info goods goodsName 就会报错info goods und
  • 2021-12-24 vue项目兼容IE

    Vue 不支持 IE8 及以下版本 因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性 但对于 IE9 Vue 底层是支持 vue cli4脚手架搭建的前端项目 vue版本2 6 12 browserslist配置 指
  • System.Single

    浮点 类型 别名 float System Single double System Double decimal System Decimal 字符 类型 别名 允许的值 bool System Boolean true flase ch
  • 跟阿铭学Linux第六章答案,Linux磁盘管理

    hda一般是指IDE接口的硬盘 hda指第一块硬盘 hdb指第二块硬盘 等等 sda一般是指SATA接口的硬盘 sda指第一块硬盘 sdb指第二块硬盘 等等 du b显示的是文件的实际大小 du k显示的是文件占用的磁盘块的大小 所以磁盘块
  • 性能测试压力测试

    性能测试指标 并发用户数 TPS Transaction Per Second 每秒事务数 系统的性能由TPS决定 mysql 记一次接口压力测试与性能调优 Apache JMeter是Apache组织开发的基于Java的压力测试工具 用于
  • 最长公共子序列 蓝桥杯 1189

    题目描述 给定一个长度为n数组A和一个长度为m数组B 请你求出它们的最长公共子序列长度为多少 输入描述 输入第一行包含两个整数n m 第二行包含n个整数ai 第三行包含m个整数bi 1 lt n m lt 10 3 1 lt ai bi l
  • BearPi-HM Nano HarmonyOS 环境搭建

    BearPi HM Nano HarmonyOS 环境搭建 BearPi HM Nano 介绍 BearPi HM Nano开发板是一块专门为鸿蒙OS设计的鸿蒙OS开发板 板载高度集成的2 4GHz WLAN SoC芯片Hi3861 并板载
  • java mongodb 关闭连接_未释放资源的教训,开发MongoDB连接一定要关闭连接

    废不少工夫将数据存储 全部迁移至mongodb 未作大量改动则是主因 但遇到奇怪的现象 程序跑起不久后 mongodb即假死 另起客户端想登陆mongodb都不成 要重启mongodb服务器才好转 分析原因是mongodb的连接池满掉且不释
  • elasticsearch学习之cross_fields字段使用

    cross fields字段 在查询阶段解决信号冲突问题 问题 The cross fields type is particularly useful with structured documents where multiple fi
  • Java进阶--Java垃圾回收机制全面解析

    本文同步发布在我的个人博客 如需转载请注明出处 提起Java的垃圾回收机制大家应该都有所了解 它不仅是面试的常客 也是Java体系中相当重要的一块知识 深入理解Java的GC机制 不仅有助于我们在开发中提高程序的性能 更有了在面试官面前炫
  • MySQL索引怎么用?究竟能有多快?看完这篇你就懂了!

    本文介绍的是MySQL索引的具体使用 原理以及本质结构请看我写的上一篇文章 MySQL索引凭什么能让查询效率提高这么多 原理是什么 目录 索引使用的优势 索引使用的劣势 1 维护成本高 2 所占空间大 索引的分类 索引的创建规则 索引的CR
  • 约瑟夫环(数组解决)

    约瑟夫环问题是一个很经典的问题 一个圈共有N个人 N为不确定的数字 第一个人的编号为0或者1 两个都可以 看你的程序如何编写 假设这边我将第一个人的编号设置为1号 那么第二个人的编号就为2号 第三个人的编号就为3号 第N个人的编号就为N号
  • photoshop不能保存bmp格式

    文章目录 前言 一 显示图层无法导出当前的bmp格式图片 二 图层合并 总结 前言 使用位图进行深度学习的特征点标定时间比正常图片格式的时间要缩短一半 所以使用ps新增异常点 但是新增图层后无法保存bmp的格式 一 显示图层无法导出当前的b
  • 详解Spring Ioc(控制反转)

    Spring Ioc 控制反转是一个比较抽象的概念 可以举例来说明 生活中 人们要用到一种东西 人们的基本想法就是找到东西 比如想喝果汁 在没有饮品店的日子里 最直接的做法就是 买果汁机 水果 准备开水 这时我们 主动 创造的过程 也就是一
  • Python自动化测试——基础理论思维导图

    1 自动化测试的定义 2 自动化测试的优势 3 自动化测试和手工测试相比 有哪些区别 4 主流的测试用具 5 自动化测试的流程 6 适用于自动化测试的条件 7 选择自动化测试技术时以语言为主的技术线 主要用到的自动化测试工具是Seleniu
  • ​兔子快跑/rabbit-UI和接口自动化测试平台​

    Rabbit 是一个开源的自动化测试平台 基于经典技术组合 Spring Boot Spring Security MyBatis Jwt Vue 目前版本已支持UI自动化和接口自动化 平台采用关键字驱动 测试人员无需任何代码基础 即可轻松
  • ubuntu18.04解决因没有集成显卡驱动进不去界面问题

    1 问题及设备描述 设备 工控机 ubuntu18 04 i9cpu 集成显卡 问题 更化软件源时不小心将微软Microsoft等的源给删除了 没有备份 查资料发现集显就在主板上 与cpu有很大关系 于是觉得问题在于将集成显卡驱动软件的源给
  • 【计算机网络】——I/O复用之poll

    文章目录 1 poll的概述 2 poll函数的功能和作用 3 poll的特点 4 代码实现I O复用poll 1 poll的概述 在上一篇文章中 我们详细的介绍了I O复用技术中的select使用 这篇文章我们来主要介绍一下poll po
  • node初识

    一 什么是node node官网 https nodejs cn Node js是一个开源的 跨平台的JavaScript运行环境 它基于Chrome V8 JavaScript引擎 使得JavaScript可以在服务器端运行 Node j
  • 关于pandas中to_sql性能太慢的优化

    pd to sql table name db 这种方法虽然很简单 但是性能特别慢 插入6万条数据 需要将近5分钟 engine sqla create engine postgresql psycopg2 user pwd IPCLOUD