使用 Python 将 JSON 插入 MySQL

2024-04-04

我有一个 Python 中的 JSON 对象。我正在使用 Python DB-API 和 SimpleJson。我正在尝试将 json 插入 MySQL 表中。

目前出现错误,我相信这是由于 JSON 对象中的单引号 '' 造成的。

如何使用 Python 将 JSON 对象插入 MySQL?

这是我收到的错误消息:

error: uncaptured python exception, closing channel 
<twitstream.twitasync.TwitterStreamPOST connected at 
0x7ff68f91d7e8> (<class '_mysql_exceptions.ProgrammingError'>:
(1064, "You have an error in your SQL syntax; check the 
manual that corresponds to your MySQL server version for 
the right syntax to use near ''favorited': '0', 
'in_reply_to_user_id': '52063869', 'contributors': 
'NULL', 'tr' at line 1") 
[/usr/lib/python2.5/asyncore.py|read|68] 
[/usr/lib/python2.5/asyncore.py|handle_read_event|390] 
[/usr/lib/python2.5/asynchat.py|handle_read|137] 
[/usr/lib/python2.5/site-packages/twitstream-0.1-py2.5.egg/
twitstream/twitasync.py|found_terminator|55] [twitter.py|callback|26] 
[build/bdist.linux-x86_64/egg/MySQLdb/cursors.py|execute|166] 
[build/bdist.linux-x86_64/egg/MySQLdb/connections.py|defaulterrorhandler|35])

另一个错误供参考

error: uncaptured python exception, closing channel 
<twitstream.twitasync.TwitterStreamPOST connected at 
0x7feb9d52b7e8> (<class '_mysql_exceptions.ProgrammingError'>:
(1064, "You have an error in your SQL syntax; check the manual 
that corresponds to your MySQL server version for the right 
syntax to use near 'RT @tweetmeme The Best BlackBerry Pearl 
Cell Phone Covers http://bit.ly/9WtwUO''' at line 1") 
[/usr/lib/python2.5/asyncore.py|read|68] 
[/usr/lib/python2.5/asyncore.py|handle_read_event|390] 
[/usr/lib/python2.5/asynchat.py|handle_read|137] 
[/usr/lib/python2.5/site-packages/twitstream-0.1-
py2.5.egg/twitstream/twitasync.py|found_terminator|55] 
[twitter.py|callback|28] [build/bdist.linux-
x86_64/egg/MySQLdb/cursors.py|execute|166] [build/bdist.linux-
x86_64/egg/MySQLdb/connections.py|defaulterrorhandler|35])

这是我正在使用的代码的链接http://pastebin.com/q5QSfYLa http://pastebin.com/q5QSfYLa

#!/usr/bin/env python

try:
        import json as simplejson
except ImportError:
        import simplejson

import twitstream
import MySQLdb

USER = ''
PASS = ''

USAGE = """%prog"""


conn = MySQLdb.connect(host = "",
                       user = "",
                       passwd = "",
                       db = "")

# Define a function/callable to be called on every status:
def callback(status):

    twitdb = conn.cursor ()
    twitdb.execute ("INSERT INTO tweets_unprocessed (text, created_at, twitter_id, user_id, user_screen_name, json) VALUES (%s,%s,%s,%s,%s,%s)",(status.get('text'), status.get('created_at'), status.get('id'), status.get('user', {}).get('id'), status.get('user', {}).get('screen_name'), status))

   # print status
     #print "%s:\t%s\n" % (status.get('user', {}).get('screen_name'), status.get('text'))

if __name__ == '__main__':
    # Call a specific API method from the twitstream module:
    # stream = twitstream.spritzer(USER, PASS, callback)

    twitstream.parser.usage = USAGE
    (options, args) = twitstream.parser.parse_args()

    if len(args) < 1:
        args = ['Blackberry']

    stream = twitstream.track(USER, PASS, callback, args, options.debug, engine=options.engine)

    # Loop forever on the streaming call:
    stream.run()

使用 json.dumps(json_value) 将 json 对象(python 对象)转换为 json 字符串,您可以将其插入到 mysql 的文本字段中

http://docs.python.org/library/json.html http://docs.python.org/library/json.html

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

使用 Python 将 JSON 插入 MySQL 的相关文章

随机推荐

  • 错误:/lib64/libc.so.6:找不到版本“GLIBC_2.28”(/var/task/cryptography/hazmat/bindings/_rust.abi3.so 需要)

    我需要一个 傻瓜式 的答案来回答这个问题 我知道以前已经有人问过这个问题 我们正在为 AWS 托管的应用程序使用无服务器框架 Runtime python3 8得到了一个不错的大 yml 文件 其中包含 16 个函数 其中 2 个包含用于密
  • Jenkins Pipeline - 调用共享 jar 中的函数

    这是我的项目设置 一个单独的常规项目 多条管道 所有管道脚本均引用共享的 groovy 项目 我浏览了共享库以及所有需要在 Jenkins 全局配置中注册的需求 没有它有什么办法吗 我尝试使用 Grab 但最终出现错误 java lang
  • Word insertOoxml 方法返回错误:所有输入未知

    我有一个现有的 Word 加载项解决方案 该解决方案已经运行良好很长一段时间 但现在无法将 OOXML 内容插入到 Word 文档中 试图解决这个问题 我无法让 insertOoxml 方法在任何情况下工作 重现 await Word ru
  • 如何使用 Solr 选择不同的字段值?

    我想做与此 SQL 相同的操作 但使用 Solr 作为我的数据存储 SELECT DISTINCT txt FROM my table 什么语法会强制 Solr 只给我不同的值 http localhost 8983 solr select
  • Maven java 项目构建,但不运行

    我正在从头开始创建一个maven项目 首先学习如何使用maven 主项目不包含源代码文件 但它有两个模块 app 和 util 应用程序取决于 util 我想要一个来自应用程序的 jar 并且如果可能的话没有清单文件 我可以使用 mvn c
  • C# 替换字符串的一部分

    如何替换具有可能未知的起始索引的字符串的一部分 例如 如果我有以下字符串
  • 如何在数据框中添加新的计算列? [复制]

    这个问题在这里已经有答案了 我正在尝试根据我拥有的数据计算一个人的年龄 Data columns in Person Dataframe TodaysDate non null datetime64 ns YOB non null floa
  • 如何在 TimePickerDialog android 中禁用键盘?

    我在我的应用程序中使用时间选择器和日期选择器 我想在这两个中禁用键盘 我可以使用以下代码禁用日期选择器中的键盘 datePickerDialog getDatePicker setDescendantFocusability ViewGro
  • 简单参数化查询出错 - Java/ SQL

    继我之前的一个问题之后方法设计 https stackoverflow com questions 5490214 method design clarity or multifunction建议我将 SQL 查询实现为参数化查询 而不是简
  • Perl 中数组是如何实现的?

    Perl 数组是一种抽象数据类型 Perl数组的内部机制是什么 是用动态数组还是链表实现的 由于数组元素可以随机访问 因此我假设动态指针数组或对标量的引用是有意义的 但是 如果在数组头部进行移位和取消移位操作 数组是否必须通过这些操作移动其
  • 服务层相互依赖

    我正在设计一个使用服务层的 asp net mvc 应用程序 如果我们有一个服务依赖于另一个服务怎么办 例如 假设我们有以下模型 class UserService IUserService implementation requires
  • Angular ui-grid 表、客户端分页和滚动

    我正在尝试将一个小项目从 jquery 移植到 angularjs 我使用 DataTables 绘制从虚拟机接收到的诊断数据 这是一个示例 DataTables 可以轻松地对数据进行分页 这样做的好处是在导航时不捕获鼠标滚动 这是当页面包
  • 获取/读取 laravel 5.8 存储非公共文件夹文件以查看?

    尝试从我的视图访问 storage app folder1 a png public function viewStorageFiles fileFullPath Storage disk local gt path folder1 a p
  • Laravel 5.4 迁移错误

    我面临着一个无法解决的问题 我的应用程序使用 Ubuntu 16 04 PHP 7 1 MySQL 和 NGINX 托管在我的服务器上 我的应用程序运行完美 当我 ssh 到我的服务器和应用程序根目录时 我运行以下命令 php artisa
  • 为什么Python的shelf要求所有键都是字符串?

    有据可查 Python 的 shelve 模块要求所有键都是字符串 并且有各种解决方法 请参阅线程here https stackoverflow com questions 4013452 how do i take integer ke
  • Domino R9.0.1 FP4:禁用与 ImportConvertHeaders 相关的日志记录?

    最近 我们安装了FP4 现在控制台上有很多消息 当使用 XPages 从浏览器打开或保存邮寄文档时 就会发生这种情况 邮件中的富文本字段采用 MIME 格式 许多行出现引用 ImportConvertHeaders 例如 25 06 201
  • 在 Firefox 中以编程方式单击 标签不起作用

    我有一个问题click jquery 的函数 我创建一个 a 元素与document createElement a 并想致电click 关于该元素的功能 关于这个元素 我想创建一个 Excel 文件并将其保存在桌面上 My code bo
  • iOS 7:如何为 UIControlStateHighlighted 设置 UIBarButtonItem backButtonBackgroundImage?

    我正在尝试在正常和突出显示状态下设置后退按钮的背景图像 void configureBackButtonInNavigationItem UINavigationItem item UIBarButtonItem backBarButton
  • 使用 Vim 命令打开标记中的当前文件

    我一直在尝试为 Brett Terpstra 的 Marked 应用程序创建一个命令 不幸的是我无法让它工作 上标记奖励包 http support markedapp com kb how to tips and tricks marke
  • 使用 Python 将 JSON 插入 MySQL

    我有一个 Python 中的 JSON 对象 我正在使用 Python DB API 和 SimpleJson 我正在尝试将 json 插入 MySQL 表中 目前出现错误 我相信这是由于 JSON 对象中的单引号 造成的 如何使用 Pyt