python sqlite 插入命名参数或 null

2024-01-29

我正在尝试使用命名参数将字典中的数据插入到数据库中。我用一个简单的 SQL 语句来完成这个工作,例如

SQL = "INSERT INTO status (location, arrival, departure) VALUES (:location, :arrival,:departure)"
dict = {'location': 'somewhere', 'arrival': '1000', 'departure': '1001'}
c.execute(SQL,dict)

将某处插入位置,将 1000 插入到达列,将 1001 插入出发列。

我实际拥有的数据将包含位置,但可能包含到达或出发,但可能不会同时包含两者(在这种情况下,表中不能包含任何内容或 NULL)。在这种情况下,我得到 sqlite3.ProgrammingError: You did not Supply a value for binding 2。

我可以使用 defaultdict 来解决这个问题:

c.execute(SQL,defaultdict(str,dict))

为了让事情稍微复杂一些,我实际上会有一个字典列表,其中包含多个到达或出发的位置。

    ({'location': 'place1', 'departure': '1000'},
    {'location': 'palce2', 'arrival': '1010'},
    {'location': 'place2', 'departure': '1001'})

我希望能够使用 c.executemany 运行它,但是我现在不能使用 defaultdict。

我可以循环遍历列表中的每个字典并运行许多 c.execute 语句,但 executemany 似乎是一种更简洁的方法。

为了方便起见,我简化了这个示例,实际数据在字典中有更多条目,并且我从 JSON 文本文件构建它。

有人对我如何做到这一点有任何建议吗?


Use None插入一个NULL:

dict = {'location': 'somewhere', 'arrival': '1000', 'departure': None}

您可以使用默认字典和生成器来使用它executemany():

defaults = {'location': '', 'arrival': None, 'departure': None}

c.executemany(SQL, ({k: d.get(k, defaults[k]) for k in defaults} for d in your_list_of_dictionaries)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python sqlite 插入命名参数或 null 的相关文章

  • android中向sqlite中插入大量数据

    目前 我必须一次向我的 Android 中插入超过 100 亿条数据 然而 内存不足的问题会使程序崩溃 sqlite 插入测试非常简单 只需使用 for 循环生成 sql 插入命令并通过 开始 和 提交 进行包装 private Array
  • Python 中的 Lanczos 插值与 2D 图像

    我尝试重新缩放 2D 图像 灰度 图像大小为 256x256 所需输出为 224x224 像素值范围从 0 到 1300 我尝试了两种使用 Lanczos 插值来重新调整它们的方法 首先使用PIL图像 import numpy as np
  • 在 python 程序中合并第三方库的最佳实践是什么?

    下午好 我正在为我的工作编写一个中小型Python程序 该任务需要我使用 Excel 库xlwt and xlrd 以及一个用于查询 Oracle 数据库的库 称为CX Oracle 我正在通过版本控制系统 即CVS 开发该项目 我想知道围
  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • 为 Anaconda Python 安装 psycopg2

    我有 Anaconda Python 3 4 但是每当我运行旧代码时 我都会通过输入 source activate python2 切换到 Anaconda Python 2 7 我的问题是我为 Anaconda Python 3 4 安
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 如何在 Python 中检索 for 循环中的剩余项目?

    我有一个简单的 for 循环迭代项目列表 在某些时候 我知道它会破裂 我该如何退回剩余的物品 for i in a b c d e f g try some func i except return remaining items if s
  • PyUSB 1.0:NotImplementedError:此平台不支持或未实现操作

    我刚刚开始使用 pyusb 基本上我正在玩示例代码here https github com walac pyusb blob master docs tutorial rst 我使用的是 Windows 7 64 位 并从以下地址下载 z
  • 如何替换 pandas 数据框列中的重音符号

    我有一个数据框dataSwiss其中包含瑞士城市的信息 我想用普通字母替换带有重音符号的字母 这就是我正在做的 dataSwiss Municipality dataSwiss Municipality str encode utf 8 d
  • 基于代理的模拟:性能问题:Python vs NetLogo & Repast

    我正在 Python 3 中复制一小段 Sugarscape 代理模拟模型 我发现我的代码的性能比 NetLogo 慢约 3 倍 这可能是我的代码的问题 还是Python的固有限制 显然 这只是代码的一个片段 但 Python 却花费了三分
  • Python pickle:腌制对象不等于源对象

    我认为这是预期的行为 但想检查一下 也许找出原因 因为我所做的研究结果是空白 我有一个函数可以提取数据 创建自定义类的新实例 然后将其附加到列表中 该类仅包含变量 然后 我使用协议 2 作为二进制文件将该列表腌制到文件中 稍后我重新运行脚本
  • 如何加速Python中的N维区间树?

    考虑以下问题 给定一组n间隔和一组m浮点数 对于每个浮点数 确定包含该浮点数的区间子集 这个问题已经通过构建一个解决区间树 https en wikipedia org wiki Interval tree 或称为范围树或线段树 已经针对一
  • 如何在Python中获取葡萄牙语字符?

    我正在研究葡萄牙语 角色看起来很奇怪 我怎样才能解决这个问题 代码 import feedparser import random Vou definir os feeds feeds conf feedurl http pplware s
  • 如何使用Python创建历史时间线

    So I ve seen a few answers on here that helped a bit but my dataset is larger than the ones that have been answered prev
  • 在f字符串中转义字符[重复]

    这个问题在这里已经有答案了 我遇到了以下问题f string gt gt gt a hello how to print hello gt gt gt f a a gt gt gt f a File
  • 无法在 Python 3 中导入 cProfile

    我试图将 cProfile 模块导入 Python 3 3 0 但出现以下错误 Traceback most recent call last File
  • Jupyter Notebook 内核一直很忙

    我已经安装了 anaconda 并且 python 在 Spyder IPython 等中工作正常 但是我无法运行 python 笔记本 内核被创建 它也连接 但它始终显示黑圈忙碌符号 防火墙或防病毒软件没有问题 我尝试过禁用两者 我也无法
  • 如何在 Python 中追加到 JSON 文件?

    我有一个 JSON 文件 其中包含 67790 1 kwh 319 4 现在我创建一个字典a dict我需要将其附加到 JSON 文件中 我尝试了这段代码 with open DATA FILENAME a as f json obj js
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • Statsmodels.formula.api OLS不显示截距的统计值

    我正在运行以下源代码 import statsmodels formula api as sm Add one column of ones for the intercept term X np append arr np ones 50

随机推荐

  • IIS asp.net mvc 部分?上传文件

    鉴于以下代码非常通用 我希望有人能告诉我一些幕后发生的事情 HttpPost public ActionResult Load Guid regionID HttpPostedFileBase file if file ContentLen
  • 如何在另一个C++程序中运行一个C++程序?

    我有一个简单的 C 程序 它接受输入并输出一些字符串 像这样 game what kind of game type r for regular s for special r choose a number from 1 10 1 no
  • 角业力跑步者无限期挂起

    Windows 8 64 位 Node js 0 10 5 64 位 业力 0 8 5 我能够启动 karma 服务器 Chrome 浏览器打开 我将其定义为 karma 配置中的默认浏览器 当我进行 业力奔跑 时 问题就出现了 Chrom
  • 用于存储 RGB 字符串的枚举 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我以前从未使用过枚举 所以我发现它们非常令人困惑 我想存储大量 RGB 值 作为字符串 并且我认为枚举是最好的选择 而不是列出静态最终字符
  • 使用 LinqToCSV 将 CSV 写入 MemoryStream 不会返回任何数据

    我已经验证使用System Text Encoding ASCII GetString ms ToArray 我的内存流有预期的数据 但是 使用 LinqToCSV nuget 库不会生成我的 csv 文件 我没有收到任何错误或异常抛出 当
  • 多个“++”在变量和指针中工作

    这就是我认为的 操作员做 a a 1 after calculating this line a a 1 before calcuating this line 我正在尝试研究指针 我认为我误解了一些东西 int a 10 int arr
  • 使用rapidjson检索JSON字符串内的嵌套对象

    我需要检索 JSON 字符串内的嵌套对象 并且我正在尝试使用 rapidjson 来完成此操作 我发现的只是如何检索数组和基本类型 而不是子对象 我创建了以下给出错误的玩具示例 rapidjson Document document std
  • 从扩展更新 UIApplicationShortcutItem

    我正在为应用程序构建 Today Extension 它对于修改我的应用程序数据非常有用 但现在我的动态UIApplicationShortcutItems不同步 我无法访问UIApplication shared从我的分机 有没有办法要求
  • 如何使用 CSS 为多个图像设置不同的样式?

    我基本上是在设计一篇长文 其中散布着各种图像 我希望第一张图像 浮动 左 第二张图像 浮动 右 我知道我可以像这样设计图像 img float left 这使得每张图像都具有相同的风格 如何为每张图像设置不同的样式 我尝试将每个图像放在不同
  • 一个关于facebook评论插件的简单问题

    我正在努力解决一个非常简单的问题 Facebook 文档一如既往地没有给我足够的解释 我在我的网站上附加了一个 Facebook 评论插件 并使用 comment create 事件的回调 我可以获得刚刚创建的评论的信息 FB Event
  • jQuery 调用中的哈希符号

    作为一名务实的编码员 我往往会错过一些明显的事情 我想知道 有什么区别 loc loc 信息越多 关于 的来龙去脉就越好 loc is an 元素选择器 http api jquery com element selector 寻找
  • Flexjson 和 Dexguard/Proguard

    当涉及到 flexjson 库时 我在使用 dexguard 时遇到问题 尝试使用 JSONDeserializer 反序列化时 我不断收到以下错误 09 15 20 46 10 271 10901 11552 A art sart run
  • 如何在 iOS 图表中的 X 轴上添加字符串?

    在新版本中 我在创建一些图表时遇到了一些麻烦 以前的代码是 func setChart dataPoints String values Double var dataEntries BarChartDataEntry for i in 0
  • 从 sqlplus 调用存储过程

    如何从sqlplus调用存储过程 我有一个程序 Create or replace procedure testproc parameter1 in varachar2 parameter2 out varchar2 begin Do so
  • 如何将 mypy 与派生类和方法调用一起使用?

    我正在与 mypy 作斗争 不明白我想要传递一个派生类 其中代码接受基类或任何派生类的实例 并在该传递的实例上调用方法 My code from typing import Type import abc class Base abc AB
  • 当从另一个线程修改对象属性时引发 OnPropertyChanged

    所以我有这个对象 public class SomeObject INotifyPropertyChanged public decimal AlertLevel get return alertLevel set if alertLeve
  • jquery中如何获取的值?

    您好 我正在尝试从 jquery 获取 p selectOneMenu 的值 但我还没有得到 我使用 JSF 和 primefaces 作为我的 UI 组件
  • 阿拉伯文本在 web 应用程序中显示,无需更改数据库

    当用户输入阿拉伯语名称和密码时 我应该检索该用户的数据 在java中 我使用utf 8编码 我应该从数据库中以阿拉伯文本的形式检索数据 我使用的数据库是 sql server 2005 并且该列设置为 varchar 而不是 nvarcha
  • 如何使 StdIn.isEmpty() 返回 true?

    我正在使用算法 Coursera 算法课程中提供的普林斯顿库中的 StdIn isEmpty 方法 但对其工作原理感到困惑 我有声明 while StdIn isEmpty 附带一些读取用户输入的代码 但我似乎无法跳出循环 根据我的理解 如
  • python sqlite 插入命名参数或 null

    我正在尝试使用命名参数将字典中的数据插入到数据库中 我用一个简单的 SQL 语句来完成这个工作 例如 SQL INSERT INTO status location arrival departure VALUES location arr