psycopg2:用一个查询插入多行

2023-12-15

我需要用一个查询插入多行(行数不是恒定的),所以我需要执行如下查询:

INSERT INTO t (a, b) VALUES (1, 2), (3, 4), (5, 6);

我知道的唯一方法是

args = [(1,2), (3,4), (5,6)]
args_str = ','.join(cursor.mogrify("%s", (x, )) for x in args)
cursor.execute("INSERT INTO t (a, b) VALUES "+args_str)

但我想要一些更简单的方法。


我构建了一个程序,可以将多行插入到位于另一个城市的服务器中。

我发现使用这种方法大约快10倍executemany。就我而言tup是一个包含大约 2000 行的元组。使用此方法时大约花费了10秒:

args_str = ','.join(cur.mogrify("(%s,%s,%s,%s,%s,%s,%s,%s,%s)", x) for x in tup)
cur.execute("INSERT INTO table VALUES " + args_str) 

使用此方法时需要 2 分钟:

cur.executemany("INSERT INTO table VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)", tup)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

psycopg2:用一个查询插入多行 的相关文章

  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • 如何收集列表、字典等中重复计算的结果(或制作修改每个元素的列表的副本)?

    There are a great many existing Q A on Stack Overflow on this general theme but they are all either poor quality typical
  • pandas 替换多个值

    以下是示例数据框 gt gt gt df pd DataFrame a 1 1 1 2 2 b 11 22 33 44 55 gt gt gt df a b 0 1 11 1 1 22 2 1 33 3 2 44 4 3 55 现在我想根据
  • Spark的distinct()函数是否仅对每个分区中的不同元组进行洗牌

    据我了解 distinct 哈希分区 RDD 来识别唯一键 但它是否针对仅移动每个分区的不同元组进行了优化 想象一个具有以下分区的 RDD 1 2 2 1 4 2 2 1 3 3 5 4 5 5 5 在此 RDD 上的不同键上 所有重复键
  • 在pyyaml中表示具有相同基类的不同类的实例

    我有一些单元测试集 希望将每个测试运行的结果存储为 YAML 文件以供进一步分析 YAML 格式的转储数据在几个方面满足我的需求 但测试属于不同的套装 结果有不同的父类 这是我所拥有的示例 gt gt gt rz shorthand for
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • HTTPS 代理不适用于 Python 的 requests 模块

    我对 Python 还很陌生 我一直在使用他们的 requests 模块作为 PHP 的 cURL 库的替代品 我的代码如下 import requests import json import os import urllib impor
  • ExpectedFailure 被计为错误而不是通过

    我在用着expectedFailure因为有一个我想记录的错误 我现在无法修复 但想将来再回来解决 我的理解expectedFailure是它会将测试计为通过 但在摘要中表示预期失败的数量为 x 类似于它如何处理跳过的 tets 但是 当我
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • 为美国东部以外地区的 Cloudwatch 警报发送短信?

    AWS 似乎没有为美国东部以外的 SNS 主题订阅者提供 SMS 作为协议 我想连接我的 CloudWatch 警报并在发生故障时接收短信 但无法将其发送到 SMS YES 经过一番挖掘后 我能够让它发挥作用 它比仅仅选择一个主题或输入闹钟
  • 在Python中重置生成器对象

    我有一个由多个yield 返回的生成器对象 准备调用该生成器是相当耗时的操作 这就是为什么我想多次重复使用生成器 y FunctionWithYield for x in y print x here must be something t
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 从 Python 中的类元信息对 __init__ 函数进行类型提示

    我想做的是复制什么SQLAlchemy确实 以其DeclarativeMeta班级 有了这段代码 from sqlalchemy import Column Integer String from sqlalchemy ext declar
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject

随机推荐

  • 无法推送到新的 gitlab 安装

    大家下午好 备份了几个旧的 git 存储库 并且正在将它们添加到已知的 gitlab 安装中 安装看起来像这里的指南https github com gitlabhq gitlabhq wiki VirtualBox Image 当添加新的
  • 映射数组项不会渲染所有元素

    在我更新对象中的答案后 它变得未定义 所以它不适合我的应用程序的其余部分 我所乞求的 0 answers Array 5 category description null legacyName null name null 1 answe
  • 如何使 macOS 应用程序窗口在关闭并使用菜单栏项重新打开时隐藏?

    我正在开发一个 macOS 应用程序 使用 Swift 和 Storyboard 其窗口的行为类似于 Adob e Creative Cloud 应用程序 经过几个小时的研究 我找不到最佳解决方案 这意味着 当应用程序启动时 主窗口会在状态
  • Java 内存模型是否保证线程内写入的可见性?

    考虑一个简单的单线程 Java 程序执行 不涉及同步操作 仅涉及实例变量的普通读取和写入 一个简单的实现忽略所有写入似乎符合 Java 内存规范 首先 适用的一般性声明 17 4 内存模型决定了程序中每个点可以读取哪些值 每个隔离线程的操作
  • MongoDB 中的全文搜索未产生“@@@”的预期结果

    所以我在一个集合中有一个文档 其中一个字段的值为 我对集合建立了索引并尝试运行查询 db getCollection TestCollection find text search 但没有显示结果 我该如何解决这个问题 样本文件 id Ob
  • Linux使用堆栈上的字符串编写系统调用[重复]

    这个问题在这里已经有答案了 我刚刚开始在 linux 上自学 x86 汇编these视频教程 早期它教您如何使用 write 系统调用来打印存储在数据部分中的字符串 是否可以使用 write 系统调用来打印存储在堆栈上的字符串 这是我编写的
  • AWS EMR Spark:写入 S3 时出错 - IllegalArgumentException - 无法从空字符串创建路径

    我已经尝试解决这个问题很长时间了 不知道为什么我会得到这个 仅供参考 我正在 AWS EMR 集群上的集群上运行 Spark 我调试并清楚地看到提供的目标路径 类似s3 my bucket name Spark 作业创建 orc 文件并在创
  • Android合并两张图片

    我想合并两张图像 然后将它们保存在 Android SDCard 上 一张来自相机 一张来自资源文件夹 问题是我收到此错误 Caused by java lang IllegalStateException 不可变位图传递给 Canvas
  • 如何将具有奇数列和行的输入矩阵中的中心 k × k 矩阵归零

    我正在尝试解决这个问题 编写一个名为 cancel middle 的函数 该函数接受 A 一个 n m 矩阵 作为输入 其中 n 和 m 均为奇数 k 为正数 小于 m 和 n 的奇整数 该函数不必 检查输入 该函数返回输入矩阵 其中心为
  • EF Code First Fluent API - 所有列的首字母小写

    我希望建立一个 EF Code First 约定 其中属性的所有列名称的首字母都是小写的 但是 我还有其他流畅的 API 代码可以更改默认列名称 我似乎无法找到一种方法来访问current属性的列名称 以便将第一个字母小写 从 Proper
  • sigaction 将 SIGINT 传递给系统调用,但不传递信号

    我有一个循环处理accept 2 称呼 我希望能够在以下情况下执行一些清理工作 SIGINT被发送到程序 我的第一个想法是使用signal功能 void signal handler int signal printf Caught sig
  • 为什么在执行批处理文件时,丹麦语字符不显示在文本编辑器中?

    我制作了一个简单的批处理文件 但是 Windows 命令处理器cmd exe当我执行批处理文件时 无法正确显示丹麦语字符 它显示了奇怪的字符 例如 反而 如果我输入echo 直接在cmd窗口中显示 我的电脑有问题吗 Use chcp管理您的
  • 通过拖动选择表格上的单元格

    我在看这个问题并看到了对 iPhone 游戏的参考 在该游戏中 你可以在屏幕上拖动并选择字母 我很好奇在 Javascript 中使用表格来实现这一点 因此 您可以将鼠标拖动到每个单元格上 然后它们就会突出显示 我不确定最好的方法是什么 但
  • ASP.NET Core rc2 中的 Cookie

    有人可以解释一下如何在 ASP NET Core rc2 应用程序中存储和获取 cookie 吗 我只能找到有关旧版本的过时信息HttpContext Response Cookies Get and Add方法 这两种方法在 Core 中
  • Webpack - 构建没有依赖项的包

    我想知道是否可以使用一些 javascript 文件构建一个捆绑包 但没有依赖项 我想要带有 React 组件的小捆绑包 在我的例子中 每个 React 组件都是由几个 React 组件构建的 例如评论组件包括评论框 列表和表单 我可以通过
  • 在 WPF 中的两个窗口之间共享同一对象

    我有代表我的班级AppSettings I have Main窗户和Settings window 每个窗口都包含对象的实例AppSettings 所以这是两个不同的对象 如果反对AppSettings in Settings窗口发生更改
  • 默认 .equals 和 .hashCode 如何适用于我的类?

    说我有自己的班级 public class MyObj 它有一些属性和方法 它没有实现 equals 也没有实现 hashCode 一旦我们调用 equals 和 hashCode 默认实现是什么 来自对象类 它们是什么 默认等于如何工作
  • false/true 对于 IPreInsertEventListener 到底意味着什么?

    我最近发现了如何使用IPreDeleteEventListener IPreInsertEventListener and IPreUpdateEventListener in the NHibernate Event命名空间 然而 我仍然
  • 是否可以通过 JMX 使 JBoss 中的单个会话失效?

    我们正在追踪应用程序中的一些内存问题 并且我们可以了解问题所在的会话的大小 它只会影响某些会话 它们似乎会失去控制 我们希望能够或多或少地 手动 使这些会话无效 以回收该内存 有没有办法通过 JMX 来做到这一点 我们使用的是 JBoss
  • psycopg2:用一个查询插入多行

    我需要用一个查询插入多行 行数不是恒定的 所以我需要执行如下查询 INSERT INTO t a b VALUES 1 2 3 4 5 6 我知道的唯一方法是 args 1 2 3 4 5 6 args str join cursor mo