我想创建一个Python程序,它将查询一个URL并生成一个JSON文件。我需要在来自SQL查询的URL末尾传递一个参数。格式化一个字符串变量
我导入了requests
库。
当我尝试在URL中传递参数时,出现'TypeError:float argument required,not str'错误消息。
只有一个从查询产生的结果列:
id
2
3
4
下面是我想出了:
import MySQLdb
import requests
con=MySQLdb.connect(host="localhost",user="test", passwd="test", db ="mfg")
cur = con.cursor()
select=("select id from tblMfg")
cur.execute(select)
result=cur.fetchall()
for i in result:
col =i[0]
col1=str(col)
url = 'http://appl.xyz.net:8080/app/content/pq/doQuery?solution=nd&path=&file=Test.nd&dataAccessId=1¶mid=%d' % col1
user = 'abc'
password ='testgo'
data = requests.get(url, auth=(user, password))
json_data=data.json()
print json_data
... Python还告诉你*错误在哪里(并且推断它与URL或参数传递无关)。 –
你实际上不得不离开你的方式来得到这个错误,首先使用'%d'而不是'%s'来表示“我绝对肯定希望这只能使用数字而不是字符串”,然后执行'col1 = str(col)'说“我绝对肯定希望这是一个字符串,而不是一个数字”。然后,当Python说“嘿,那个字符串不是数字”时,你不明白吗? (也许它们都是_actually_意思是“我复制并粘贴了这行代码而根本不理解它”) – abarnert