Как читать данные из файла CSV, используя API в Python

0

Я пытаюсь загрузить данные по следующей ссылке:
Сайт 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()

Будет ли ответ автоматически загружать файл в папку "Мои загрузки"?

  • 0
    какой код ты написал?
  • 0
    Добавлен код в ОП
Теги:
python-3.x

1 ответ

1

Вы можете попробовать это

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")
  • 0
    Большое спасибо .. если я просто вставлю URL в свой браузер, он автоматически загрузит CSV-файл в папку «Загрузки». Можно ли это сделать? Кроме того, я получаю сообщение об ошибке "Нет такого файла или каталога" для вашей второй до последней строки, т.е. с открытым (модель + год + ". Csv") как f..Как будет создан этот файл?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню