【问题标题】:Python POST sql query resultPython POST sql查询结果
【发布时间】:2017-02-20 20:48:19
【问题描述】:

我想将一堆结果发送到服务器。

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: too many values to unpack 我尝试使用 res = [dict((cur.description[i][0], value) for i, value in enumerate(row)) for row in r] 创建一个 json 但是 f = urllib2.urlopen(_url,res) 返回 TypeError: must be string or buffer, not list

欢迎提出想法!

【问题讨论】:

    标签: python arrays json post urllib2


    【解决方案1】:

    您需要使用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))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 2012-12-30
      • 1970-01-01
      • 2015-09-04
      • 2020-08-28
      • 2011-07-23
      • 1970-01-01
      相关资源
      最近更新 更多