Я пытаюсь загрузить данные по следующей ссылке:
Сайт NHTSA
Если я создам ссылку, как показано ниже, она загружает файл CSV на моем компьютере http://webapi.nhtsa.gov/api/SafetyRatings/modelyear/2019/make/ACURA/model/RDX?format=csv
Как я могу прочитать этот файл для разных автомобилей, используя API в Python?
Вот мой код:
db = sql.connect("localhost","root","password","TEST")
cursor = db.cursor()
sql = "SELECT * FROM TEST.car_model"
cursor.execute(sql)
data = cursor.fetchall()
for row in data:
apiUrl = "http://webapi.nhtsa.gov/api/SafetyRatings/modelyear/"
apiParams = str(row[1])+"/make/"+row[2].replace(" ","%20")+"/model/"+row[3].rstrip().replace(" ","%20")
apiFormat = "?format=csv"
link = apiUrl + apiParams + apiFormat
response = urlopen(apiUrl + apiParams + apiFormat)
f = open(link, 'rb')
reader = csv.reader(f)
for row in reader:
print(row)
db.close()
Будет ли ответ автоматически загружать файл в папку "Мои загрузки"?
Вы можете попробовать это
model = input("Enter model name: ")
year = input("year: ")
url = "http://webapi.nhtsa.gov/api/SafetyRatings/modelyear/"+year+"/make/ACURA/model/"+model+"?format=csv"
import urllib.request
with urllib.request.urlopen(url) as response:
html = response.read()
with open(model+year+".csv", "w") as f:
f.write(html)
вы можете добавить еще несколько переменных в свой URL. Затем для чтения вы можете использовать пакет pandas.
import pandas as pd
vechiles = pd.read_csv("vichles.csv")