我想創建一個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