gpt4 book ai didi

python - 使用 Pyodbc 迭代行

转载 作者:行者123 更新时间:2023-11-28 22:43:34 25 4
gpt4 key购买 nike

我正在使用 Pyodbc 返回一些行,这些行被转储到 JSON 中并发送到服务器。我想迭代我的 SQL 表并返回所有记录。我现在正在使用 cursor.fetchall(),程序返回一条记录。如下所示。当我使用 fetchone 时返回错误 AttributeError: 'unicode' object has no attribute 'SRNUMBER' 并且 fetchmany 也返回一条记录。如何成功返回所有记录?我正在使用 Python 2.6.7

代码:

import pyodbc
import json
import collections
import requests



connstr = 'DRIVER={SQL Server};SERVER=server;DATABASE=ServiceRequest; UID=SA;PWD=pwd'
conn = pyodbc.connect(connstr)
cursor = conn.cursor()

cursor.execute("""
SELECT SRNUMBER, FirstName, LastName, ParentNumber
FROM MYLA311 """)

rows = cursor.fetchone()



objects_list = []
for row in rows:
d = collections.OrderedDict()
d['SRNUMBER']= row.SRNUMBER
d['FirstName']= row.FirstName
d['LastName']= row.LastName
d['ParentNumber']= row.ParentNumber



objects_list.append(d)

output = {"MetaData": {},
"SRData": d}

print output

j = json.dumps(output)
print json.dumps(output, sort_keys=True, indent=4)`

fetchall 和 fetchmany 的输出:

{
"MetaData": {},
"SRData": {
"FirstName": "MyLAG",
"LastName": "ThreeEleven",
"ParentNumber": "021720151654176723",
"SRNUMBER": "1-3580171"
}
}

最佳答案

使用我的答案中的代码 hereoutput['SRData'] 的值构建字典列表,然后 JSON 正常编码 output 字典。

import pyodbc
import json

connstr = 'DRIVER={SQL Server};SERVER=server;DATABASE=ServiceRequest; UID=SA;PWD=pwd'
conn = pyodbc.connect(connstr)
cursor = conn.cursor()

cursor.execute("""SELECT SRNUMBER, FirstName, LastName, ParentNumber FROM MYLA311""")

# build list of column names to use as dictionary keys from sql results
columns = [column[0] for column in cursor.description]

results = []
for row in cursor.fetchall():
results.append(dict(zip(columns, row)))

output = {"MetaData": {}, "SRData": results}

print(json.dumps(output, sort_keys=True, indent=4))

关于python - 使用 Pyodbc 迭代行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30585588/

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