APIからデータを収集し、それをcsvファイルに追加するスクリプト(Python 2.7.11、Windows 10)を作成しようとしています。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
実際のURLとは何ですか?あなたが持っているスクリプトには、それが動作しなくなる多くの問題があります。 –
あなたの助けてくれてありがとう@alecxe - いいえ、私はこのポストを書いた時点でそれを呼んでいないが、私はすべきことを理解した。申し訳ありません、私はちょうどそれと遊び始めています。しかしそれは何も変わらなかった。 – Jan