Python POST sql 查询结果
Python POST sql query result
我想将一堆结果发送到服务器。
cur.execute('SELECT a,b,c,b FROM wicap WHERE a.num > 600 limit 25')
r = cur.fetchall()
此时的r为:
[(1487590224, 1487614532, -75, -41, 504, -73),
(1487596562, 1487614915, -75, -59, 156, -75),...]
我想做这样的事情:
response = urllib2.urlopen('http://example.com/post/', data=r)
并且在服务器端能够通过以下方式获取数据:
def POST()
data = web.data()
for record in data...
然后在服务端处理查询结果。
urlencode 失败并显示 ValueError:要解压的值太多
我尝试用 res = [dict((cur.description[i][0], value) for i, value in enumerate(row)) for row in r] 创建一个 json
但是 f = urllib2.urlopen(_url,res) returns TypeError: 必须是字符串或缓冲区,而不是列表
欢迎提出想法!
您需要使用 json.dumps
:
将数据编码为 json
import json
r = [(1487590224, 1487614532, -75, -41, 504, -73), (1487596562, 1487614915, -75, -59, 156, -75)]
response = urllib2.urlopen('http://example.com/post/', data=json.dumps(r))
我想将一堆结果发送到服务器。
cur.execute('SELECT a,b,c,b FROM wicap WHERE a.num > 600 limit 25')
r = cur.fetchall()
此时的r为:
[(1487590224, 1487614532, -75, -41, 504, -73),
(1487596562, 1487614915, -75, -59, 156, -75),...]
我想做这样的事情:
response = urllib2.urlopen('http://example.com/post/', data=r)
并且在服务器端能够通过以下方式获取数据:
def POST()
data = web.data()
for record in data...
然后在服务端处理查询结果。
urlencode 失败并显示 ValueError:要解压的值太多 我尝试用 res = [dict((cur.description[i][0], value) for i, value in enumerate(row)) for row in r] 创建一个 json 但是 f = urllib2.urlopen(_url,res) returns TypeError: 必须是字符串或缓冲区,而不是列表
欢迎提出想法!
您需要使用 json.dumps
:
import json
r = [(1487590224, 1487614532, -75, -41, 504, -73), (1487596562, 1487614915, -75, -59, 156, -75)]
response = urllib2.urlopen('http://example.com/post/', data=json.dumps(r))