from urllib.request import urlopen
import time
import json
import csv
csvFile = open("C:/Users/Macy/Desktop/Scripts/test.csv", 'w+', newline='')
writer = csv.writer(csvFile)
writer.writerow(('City', 'Name', 'Age','Sex','Race'))
STAGGER_TIME = 1 # of seconds
CityList = ('Canton')
for city in CityList:
response = urlopen("https://thecountedapi.com/api/counted/?state=TX&city="+city).read().decode('utf-8')
responseJson = json.loads(response)
print("--------------")
print("City: " + str(responseJson.get("city")))
print("Name: " + str(responseJson.get("name")))
print("Age: " + str(responseJson.get("age")))
print("Sex: " + str(responseJson.get("sex")))
print("Race: " + str(responseJson.get("race")))
writer.writerow((responseJson.get("name"), responseJson.get("age"), responseJson.get("sex"), responseJson.get("race"), responseJson.get("city")))
time.sleep(STAGGER_TIME)
csvFile.close()
これは私がPythonで実行しようとしているコードです。このコードを実行しようとするたびに、次のようなエラーが表示されます。AttributeError:PythonでAPIリクエストを実行しようとすると 'list'オブジェクトに属性 'get'がありません
"Traceback (most recent call last):
File "C:/Users/Macy/Desktop/Texas A&M/Junior Year/Fall Semester/ISYS 281/shooting.py", line 20, in <module>
print("City: " + str(responseJson.get("city")))
AttributeError: 'list' object has no attribute 'get'
ここで私は間違っていますか?私は問題を研究しようとしましたが、私が見つけたすべての情報源が私に混乱しています。
from urllib.request import urlopen
import time
import json
import csv
csvFile = open("C:/Users/Macy/Desktop/Scripts/test.csv", 'w+', newline='')
writer = csv.writer(csvFile)
writer.writerow(('City', 'Name', 'Age','Sex','Race'))
CityList = ('Canton')
for city in CityList:
response = urlopen("https://thecountedapi.com/api/counted/?state=TX&city="+city).read().decode('utf-8')
responseJson = json.loads(response)[0]
print("--------------")
print("City: " + responseJson.get["city"])
print("Name: " + (responseJson.get["name"])
print("Age: " + (responseJson.get["age"])
print("Sex: " + (responseJson.get["sex"])
print("Race: " + (responseJson.get ["race"])
writer.writerow((responseJson.get["name"], responseJson.get["age"], responseJson.get["sex"], responseJson.get["race"], responseJson.get["city"]))
csvFile.close()
これは更新されたコードですが、コードを実行すると無効な構文エラーが発生します。
'json.loads(レスポンス)は'リストです。 –
'responseJson = json.loads(response)'の代わりに 'responseJson = json.loads(response)[0]'を返します。 – Abdou
さて、それは実行されますか?そうでない場合は、実際の回答ではありません。あなたはこの投稿を編集することができます –