我正在嘗試編寫一個腳本(Python 2.7.11,Windows 10)來從API收集數據並將其附加到csv文件中。從api讀取數據並填充.csv錯誤
我想要使用的API返回json中的數據。 儘管它限制了顯示記錄的數量,並對它們進行了頁面。 因此,您可以通過單個查詢獲得最大數量的記錄,然後您必須運行另一個查詢,更改頁碼。
該API會通知您有關數據集被分成的頁面的數量。 讓我們假設每頁記錄的最大#100和頁面NR爲2
我的腳本:
import json
import urllib2
import csv
url = "https://some_api_address?page="
limit = "&limit=100"
myfile = open('C:\Python27\myscripts\somefile.csv', 'ab')
def api_iterate():
for i in xrange(1, 2, 1):
parse_url = url,(i),limit
json_page = urllib2.urlopen(parse_url)
data = json.load(json_page)
for item in data['someobject']:
print item ['some_item1'], ['some_item2'], ['some_item3']
f = csv.writer(myfile)
for row in data:
f.writerow([str(row)])
這似乎並不工作,即它會創建一個CSV文件,但該文件未被填充。顯然,構建查詢地址的部分腳本或處理讀取json的部分或處理將查詢寫入csv的部分顯然有問題。或者全部。
我嘗試過使用其他資源和教程,但在某些時候,我卡住了,我將不勝感激您的協助。
你在調用這個'api_iterate'函數嗎? – alecxe
什麼是實際的網址?你所擁有的腳本有許多問題會阻止它工作。 –
感謝您的幫助@alecxe - 不,我在寫這篇文章的時候沒有打電話給我,但後來我意識到我應該這樣做。對不起,我剛剛開始玩它。但它沒有改變任何東西。 – Jan