我对Python非常陌生,正在尝试从user.csv文件中的每个用户的URL获取响应,返回JSON消息,然后将其解析为CSV 。我不确定要在退货部分放置什么或如何拆分消息。这是当我得到的HTTP请求返回给我的信息的一个示例:使用Python发送HTTP请求并解析JSON
{"msg": {"mes": "four", "high": 1230, "low": 0}}"
这是我有这么远,但我得到了一个错误:
TypeError: expected string or buffer
import requests
import json
import csv
def getRows(data):
return []
url = 'http://test_url'
with open('user.csv', 'rU') as data_file:
data = csv.DictReader(data_file)
for row in data:
current_user = row['mdn']
r = requests.get(url)
data = json.loads(data)
fname = "mydata.csv"
with open(fname,'wb') as outf:
outcsv = csv.writer(outf)
outcsv.writerows(getRows(data))
您能给出有关输入csv文件(mdn.csv)内容的更多详细信息(或者可能是示例)吗?另外,您能否详细说明“current_user”在请求中的作用?如果您只为每个用户调用r = requests.get(url),您将始终得到相同的响应 – caspillaga
输入csv文件具有用户列表。每个人都会打到URL并返回一个类似于我作为示例提供的JSON消息。然后我想要接收用户,消息并解析它,并将带有JSON消息的整个列表转换为csv。 – c3win90
好的,但对user1和user2的请求有什么区别?在你的代码中,每个用户的请求都是相同的,所以对它们的响应总是相同的。也许你应该以某种方式发送请求中的current_user? – caspillaga