[英]Python, append curl results to list with urllib3
我正在尝试将使用 urllib3 的 curl 请求的结果附加到列表中。 你可以从我下面的尝试中看到我已经超出了我的深度:)
import urllib3
import json
import csv
http = urllib3.PoolManager()
r = http.request('GET', 'URL')
mails = json.loads(r.data.decode('utf-8'))
{'origin': '127.0.0.1'}
datas = list()
for mail in mails:
datas.append(mail)
感谢您的回答,我修复了语法错误。 然而,结果似乎是不正确的。
我希望列表中的一个条目看起来像:
{"success":true,"data:[{"id":20758,"company_id":117376,"user_id":1529193,"done":false,"type":"email","reference_type":"none","reference_id":null,"due_date":"2017-09-01","due_time":"","duration":"","add_time":"2017-01-13
我得到的只有这个,没有别的:
success
data
additional_data
related_object
我猜这与 JSON 层次结构有关?
几个错别字:
for
错过了:
。 它应该for mail in mails:
mail
而不是mails
即datas.append(mail)
这能解决您的语法错误吗?
使用append
有错字,还有一些语法错误:
1. {'origin': '127.0.0.1'}
应该设置为变量或被注释。
for
循环需要一个冒号:
在行尾以启动 for 循环范围。代码应该是这样的:
import urllib3
import json
import csv
http = urllib3.PoolManager()
r = http.request('GET', 'URL')
mails = json.loads(r.data.decode('utf-8'))
# {'origin': '127.0.0.1'}
datas = list()
for mail in mails:
datas.append(mail)
您不需要迭代邮件的结果。 邮件是一个 json 输出。 要将结果添加到列表中,只需执行即可。
datas = list()
mails = json.loads(r.data.decode('utf-8'))
datas.append(mails)
输出:
[{"success":true,"data:[{"id":20758,"company_id":117376,"user_id":1529193......]
json 列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.