遍历CSV,使用参数调用API

时间:2019-04-21 01:44:44

标签: python pandas rest loops numpy

哇!这里是新的Python学习者。终于有了一个现实的项目来进行/学习。

目标

  • 使用The USGS Earthquake API和Jupyter笔记本
  • 给出:事件ID,日期时间(各种格式和某些缺失值),纬度和经度(某些缺失值)的事件表
  • 添加:事件表中的值到API GET请求
  • 返回:给定半径内的地震表,与事件ID相关联

已采取的步骤:

  1. 询问事件表并删除空白行(参考:Python Data Science Handbook):
import numpy as np
import pandas as pd

df=pandas.read_csv("tbLatLongDates.csv")
df.dropna()
print(df)
  • 结果 enter image description here

  • 问题1:为什么df.dropna()从具有Nan条记录的行中删除NaN值?

    1. EVENT_DATEEVENT_TIME转换并连接为API调用的ISO8601标准输入

      • 没有想法怎么做!
    2. 遍历清理和转换后的数据集以产生API调用

      • 没有想法如何遍历CSV文件。
      • 这是单个请求的有效API调用。
      • 问题2:如何使用python动态地将值迭代/插入其中?
import requests
import json
from datetime import datetime, timedelta

url = "https://earthquake.usgs.gov/fdsnws/event/1/query?"
payload = ""
querystring = {
    "format": "geojson",
    "starttime": datetime.today() - timedelta(days=1),
    "endtime": datetime.today(),
    "latitude": 47,
    "longitude": -122,
    "maxradiuskm": 300,
    "orderby": "magnitude-asc"
}

r = requests.get(url, params=querystring)

print(r)
data = r.json()
print(json.dumps(data, indent=2, sort_keys=True))

这会以漂亮的json输出响应。从这里,我觉得我可以拨入一些东西。我的最大未知数是如何遍历CSV并为API调用动态添加值。

谁能提供见解? 谢谢!

0 个答案:

没有答案