Я хотел бы получить объект словаря в результате выполнения команды SQL «execute (« insert ... »)» в Python 2.7 с использованием Debain Stretch на Raspberry Pi V3. Обычный объект - это кортеж, поэтому доступ к элементам осуществляется через целочисленный индекс. Из Интернета может появиться, что две библиотеки будут предоставлять эту диссонарную функциональность: mysqldb и pymysql. Когда я использую «import mysqldb», я получаю сообщение об ошибке «ImportError: нет модуля с именем mysqldb». Если я использую «import pymysql», я не получаю никаких ошибок, но в результате получается кортеж, а не словарь, что я и получаю, я просто беру курсор по умолчанию. Если я изменю свой код, указав имя столбца, например
print ("строка", 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
Это новая установка Stretch на Raspberry Pi v3. Я установил следующее:
- sudo apt-get install mariadb-server
- sudo apt-get install python-mysqldb
- sudo apt-get -y установить python-mysql.connector
- sudo apt-get install libmariadbclient-dev
- Установка sudo pip PyMySQL
У меня есть поиск ответов в Интернете, включая две ссылки ниже
Но пока не нашли решения. Кто-нибудь может помочь? .... RDK