将unicode插入sqlite?

2024-02-25

我仍在学习 Python,作为一个小项目,我编写了一个脚本,它将获取文本文件中的值并将它们插入到 sqlite3 数据库中。但有些名称有奇怪的字母(我猜你会称它们为非 ASCII),并且当它们出现时会生成错误。这是我的小脚本(请告诉我是否有更 Pythonic 的脚本): 导入sqlite3

f = open('complete', 'r')
fList = f.readlines()
conn = sqlite3.connect('tpb')
cur = conn.cursor()

for i in fList:
    exploaded = i.split('|')
    eList = (
        (exploaded[1], exploaded[5])
    )
    cur.execute('INSERT INTO magnets VALUES(?, ?)', eList)
    conn.commit()
cur.close()

它会生成此错误:

Traceback (most recent call last):
  File "C:\Users\Admin\Desktop\sortinghat.py", line 13, in <module>
    cur.execute('INSERT INTO magnets VALUES(?, ?)', eList)
sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a te
xt_factory that can interpret 8-bit bytestrings (like text_factory = str). It is
highly recommended that you instead just switch your application to Unicode str
ings.

要将文件内容转换为 unicode,您需要从其采用的编码进行解码。
看起来您使用的是 Windows,所以一个不错的选择是cp1252.
如果您从其他地方获得该文件,那么一切都将失败。

对编码进行排序后,一种简单的解码方法是使用codecs模块,例如:

import codecs
# ...
with codecs.open('complete', encoding='cp1252') as fin: # or utf-8 or whatever
  for line in fin:
    to_insert = (line.split('|')[1], line.split('|')[5])
    cur.execute('INSERT INTO magnets VALUES (?,?)', to_insert)
    conn.commit()
# ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将unicode插入sqlite? 的相关文章

  • 没有名为 crypto.cipher 的模块

    我现在正在尝试加密一段时间 我最近得到了这个基于 python 的密码器 名为PythonCrypter https github com jbertman PythonCrypter 我对 Python 相当陌生 当我尝试通过终端打开 C
  • Django 代理模型的继承和多态性

    我正在开发一个我没有启动的 Django 项目 我面临着一个问题遗产 我有一个大模型 在示例中简化 称为MyModel这应该代表不同种类的物品 的所有实例对象MyModel应该具有相同的字段 但方法的行为根据项目类型的不同而有很大差异 到目
  • Python 中的 Lanczos 插值与 2D 图像

    我尝试重新缩放 2D 图像 灰度 图像大小为 256x256 所需输出为 224x224 像素值范围从 0 到 1300 我尝试了两种使用 Lanczos 插值来重新调整它们的方法 首先使用PIL图像 import numpy as np
  • 将数据从 python pandas 数据框导出或写入 MS Access 表

    我正在尝试将数据从 python pandas 数据框导出到现有的 MS Access 表 我想用已更新的数据替换 MS Access 表 在 python 中 我尝试使用 pandas to sql 但收到错误消息 我觉得很奇怪 使用 p
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 从字符串中删除识别的日期

    作为输入 我有几个包含不同格式日期的字符串 例如 彼得在16 45 我的生日是1990年7月8日 On 7 月 11 日星期六我会回家 I use dateutil parser parse识别字符串中的日期 在下一步中 我想从字符串中删除
  • 如何在 Python 中检索 for 循环中的剩余项目?

    我有一个简单的 for 循环迭代项目列表 在某些时候 我知道它会破裂 我该如何退回剩余的物品 for i in a b c d e f g try some func i except return remaining items if s
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • 如何使用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
  • Pygame:有没有简单的方法可以找到按下的任何字母数字的字母/数字?

    我目前正在开发的游戏需要让人们以自己的名义在高分板上计时 我对如何处理按键有点熟悉 但我只处理过寻找特定的按键 有没有一种简单的方法可以按下任意键的字母 而不必执行以下操作 for event in pygame event get if
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • Fabric env.roledefs 未按预期运行

    On the 面料网站 http docs fabfile org en 1 10 usage execution html 给出这个例子 from fabric api import env env roledefs web hosts
  • 如何在seaborn displot中使用hist_kws

    我想在同一图中用不同的颜色绘制直方图和 kde 线 我想为直方图设置绿色 为 kde 线设置蓝色 我设法弄清楚使用 line kws 来更改 kde 线条颜色 但 hist kws 不适用于显示 我尝试过使用 histplot 但我无法为
  • 如何在 Python 中追加到 JSON 文件?

    我有一个 JSON 文件 其中包含 67790 1 kwh 319 4 现在我创建一个字典a dict我需要将其附加到 JSON 文件中 我尝试了这段代码 with open DATA FILENAME a as f json obj js
  • 类型错误:预期单个张量时的张量列表 - 将 const 与 tf.random_normal 一起使用时

    我有以下 TensorFlow 代码 tf constant tf random normal time step batch size 1 1 我正进入 状态TypeError List of Tensors when single Te
  • 在 Qt 中自动调整标签文本大小 - 奇怪的行为

    在 Qt 中 我有一个复合小部件 它由排列在 QBoxLayouts 内的多个 QLabels 组成 当小部件调整大小时 我希望标签文本缩放以填充标签区域 并且我已经在 resizeEvent 中实现了文本大小的调整 这可行 但似乎发生了某

随机推荐

  • Rails 3.1,capybara-webkit,如何在链接内执行javascript?

    我可以在与水豚的链接中执行javascript吗click link next page 该链接如下所示 a href Next Question a 我在 github 的 capybara 上读到 我可以通过单击提交按钮来提交表单 如下
  • OpenCV 中如何知道图像是否为 RGB?

    我使用 OpenCV 库用 C 编写了一个程序 该程序从网络摄像头录制视频 然后将其分割成帧 我想知道帧是否为 RGB 因为我想访问每个像素的 RGB 属性 用于捕获的编解码器是 CV FOURCC M J P G 如何获取 RGB 色彩空
  • pycharm中的源和资源根是什么?

    我正在开发一个关于 NLP 的项目 我有一个很大的语料库和一些代码 我想在我的项目中将它们分开 但我想知道选择正确的名称是什么 数据与代码就像汇编中的数据段和代码段 或者 来源和资源正如我的一位朋友所坚持的那样 这是正确的术语 我还在 py
  • Android 连接到本地主机

    我试图通过 wamp 服务器将我的 Android 应用程序连接到本地主机 url 但它不起作用 我的目标是获取 json 数据并解析这些数据 对于我的测试 我使用的是设备而不是模拟器 并且我使用 AndroidManifest xml 中
  • 从函数内的 JSON 响应更新全局变量

    我正在尝试从 JSON 响应中获取一些变量并将其显示在自定义表视图中 问题是变量永远不会更新 更多解释是我的代码 func getAddresses let todosEndpoint String my link guard let to
  • 从 Ubuntu 10.10 升级到 12.04 后,multiprocessing.map 和 joblib 仅使用 1 个 cpu

    我有一些完美运行的 python 代码 它使用多处理模块并以 100 的速度加载我机器上的所有 8 个 CPU 当我从 Ubuntu 10 10 升级到 12 04 后 最明显的事情 也许我做了其他什么事情破坏了一切 它停止工作 经过大量调
  • neo4j cypher 单标签与多标签性能

    考虑以下示例 一个基于 Neo4j 的 wiki 其中包含大量文章和更多文章版本 所有编辑的历史记录 使用多个标签来标识每个节点有多大区别 article Article Public article Article Version 然后查
  • 使用CTE简化SQL语句

    我有一个如下查询 SELECT A a A b B c CASE WHEN THEN ELSE END AS CalculatedValue B d FROM dbo TableA A INNER JOIN dbo TableB B ON
  • 在 Django 表单字段之间显示一些自由文本

    我有一个如下所示的表格 class MyForm Form personal data firstname CharField lastname CharField education data university CharField m
  • 如何检查 dynamodb 中的字符串集中是否存在字符串

    我在表中的每个项目中都设置了一个字符串 例如 Title Book 101 Title ISBN 111 1111111111 Authors Author 1 Price 2 Dimensions 8 5 x 11 0 x 0 5 Pag
  • 如何处理“inspect.getsource”的限制 - 或者如何仅获取函数的源?

    我一直在玩inspectPython 标准库中的模块 下面的例子工作得很好 假设inspect已导入 def foo x y return x y print inspect getsource foo 将打印def foo x y n r
  • 任何自动保存文档版本的 Notepad++ 插件 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道有什么记事本 插件可以定期保存我正在处理的内容的版本吗 理想情况下 它会保存许多版本 并在标题
  • git 拒绝获取当前分支

    我设置了一个远程存储库 我可以将新的更改推送到它 但我无法从中获取 我总是收到 相当神秘的 错误消息 fatal Refusing to fetch into current branch refs heads master of non
  • geom_bar:颜色渐变和交叉影线(使用gridSVG),透明度问题

    使用真棒ggplot包 我想要一个条形图 其中fill美学被映射到一个连续变量 实际上是值 在它上面是一个纹理 实际上是条纹和交叉影线 颜色渐变很重要 因为它代表重要性 而纹理将显示类别 A B 以及它们的重叠 因此 对角线分别以一种方式
  • AttributeError:模块对象没有属性“Series”。代码可以在 iPython 中运行

    子模块不是隐含地进口的 并且必须是明确地声明 但我正在做一个explicit致电pd Series子模块 不是吗 无论如何 不 应该import pandas as pd允许pd Series被称为 下面的代码可以完美地工作iPython
  • 如何设置最小屏幕尺寸?

    我创建了新的应用程序 不适用于手机 我的应用程序基于 7 英寸平板设备 当我尝试将我的应用程序放入 Play 商店时 它显示我的应用程序支持 2000 种 Android 设备 但并非所有设备都是平板电脑 事实上 我不想用谷歌搜索所有设备并
  • 在 io.js 中使用 Smalloc

    第一个版本为io js https iojs org api smalloc html本月发布 我在阅读文档时发现smalloc https iojs org api smalloc htmlio js 中引入的新模块 直到今天我还从未觉得
  • 如何删除 Mercurial 中应用于错误分支的一些提交,然后在正确的分支上重播它们?

    我的同事在错误的分支上的存储库上提交了两次 采取这两个提交 删除它们然后将它们正确提交到正确的分支下的最有效方法是什么 更改尚未推送 理想情况下 我们希望有一种方法可以在 TortoiseHG 中执行此操作 但当然 如果命令行是最佳选择 我
  • 如何在 Vue 上下文中动态向条形图/饼图添加点?

    我想引导一个 Highcharts 条形图 然后向其中添加一些点 在 Vue 容器中 文档提到addPoint https api highcharts com class reference Highcharts Series addPo
  • 将unicode插入sqlite?

    我仍在学习 Python 作为一个小项目 我编写了一个脚本 它将获取文本文件中的值并将它们插入到 sqlite3 数据库中 但有些名称有奇怪的字母 我猜你会称它们为非 ASCII 并且当它们出现时会生成错误 这是我的小脚本 请告诉我是否有更