gpt4 book ai didi

python - MySQL:pymysql 或 mysqldb 访问字典游标功能

转载 作者:行者123 更新时间:2023-11-29 16:02:43 25 4
gpt4 key购买 nike

我想在 Raspberry Pi V3 上使用 Debain Stretch 在 Python 2.7 中获取一个字典对象作为“execute("insert...")” SQL 命令的结果。普通对象是一个元组,因此可以通过整数索引访问元素。从网上看来,有两个库将提供这种可选功能:mysqldb 和 pymysql。当我使用“import mysqldb”时,出现错误“ImportError:没有名为 mysqldb 的模块”。如果我使用“import pymysql”,我不会收到任何错误,但结果是一个元组而不是字典,这也是我会得到的,我只是采用默认光标。如果我修改代码来指定列名称,即

print("row ", mycursor.rowcount, "id ", x['id'], " date ", x['date_time'])

然后我收到有关使用非整数索引的错误。下面是示例代码:

#!/usr/bin/env python
import sys
import pymysql
import mysql.connector
db = mysql.connector.connect(
host="localhost",
user="xxx",
passwd="yyy",
database="zzz")
print(db)
mycursor = db.cursor(pymysql.cursors.DictCursor)
# mycursor = db.cursor()
mycursor.execute("select * from table;")
myresult = mycursor.fetchall()
for x in myresult:
print("row ", mycursor.rowcount, "id ", x[0], " date ", x[1])
# if I use "print("row ", mycursor.rowcount, "id ", x["id"], " date ", x[date_Time])" it throws an error

这是在 Raspberry Pi v3 上全新安装的 Stretch。我已经安装了以下内容:

  • sudo apt-get install mariadb-server
  • sudo apt-get install python-mysqldb
  • sudo apt-get -y install python-mysql.connector
  • sudo apt-get install libmariadbclient-dev
  • sudo pip 安装 PyMySQL

我在网上搜索了答案,包括下面的两个引用

但到目前为止还没有找到解决办法。有人可以帮忙吗?....RDK

最佳答案

尝试使用pymysql.connect而不是mysql.connector.connect

# !/usr/bin/env python
import sys
import pymysql

db = pymysql.connect(
host="localhost",
user="xxx",
passwd="yyy",
database="zzz")
print(db)
mycursor = db.cursor(pymysql.cursors.DictCursor)
mycursor.execute("select * from table;")
myresult = mycursor.fetchall()
for x in myresult:
print("row ", mycursor.rowcount, "id ", x["id"], " date ", x["date_Time"])

关于python - MySQL:pymysql 或 mysqldb 访问字典游标功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56041053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com