首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python中使用API从csv文件中读取数据

如何在Python中使用API从csv文件中读取数据
EN

Stack Overflow用户
提问于 2018-06-12 06:57:32
回答 1查看 1.3K关注 0票数 0

我正在尝试从以下链接下载数据:

NHTSA Website

如果我像下面这样创建链接,它会将CSV文件下载到我的机器http://webapi.nhtsa.gov/api/SafetyRatings/modelyear/2019/make/ACURA/model/RDX?format=csv

如何使用Python中的API读取不同车辆的此文件?

到目前为止,我的代码如下:

代码语言:javascript
复制
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()

响应会自动将文件下载到我的下载文件夹中吗?

EN

回答 1

Stack Overflow用户

发布于 2018-06-12 07:10:29

你可以试试这个

代码语言:javascript
复制
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包来阅读。

代码语言:javascript
复制
import pandas as pd
vechiles = pd.read_csv("vichles.csv")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50807129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档