使用Python和usapending.gov API提交高级过滤查询条件,并使用pandas访问数据

2024-06-01 00:33:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一名初级程序员,正在使用以下python代码访问usapending.gov数据。我希望使用他们可用的API来代替,以避免下载压缩文件,然后使用pandas打开它来执行数据分析。有谁能告诉我如何使用网站的API输入高级查询参数,然后使用pandas访问数据,而不必下载他们的压缩文件?如果您能提供一个带有随机参数的提取查询示例的代码片段,我将不胜感激

下面是指向他们的API高级查询的链接:https://www.usaspending.gov/search 下面是指向它们的API端点的链接:https://api.usaspending.gov/docs/endpoints

最后,这是我正在使用的当前代码:

from selenium import webdriver
import time

driver webdriver.Chrome (r"C:\Users\m\Desktop\chromedriver.exe") driver.get("https://www.usaspending.gov/search/?hash=54611813edefaca2978066b4b4620302")

time.sleep (1)

download driver.find_element_by_xpath("//div[@class='label' ]").click() download driver.find_element_by_xpath("//button[@title='Award']").click()
download driver.find_element_by_xpath("//button[@title='Everything']").click()

Tags: 数据代码httpsapipandasbydownloaddriver
1条回答
网友
1楼 · 发布于 2024-06-01 00:33:08

一个简单的案例开始:

import pandas as pd
import requests

url = "https://api.usaspending.gov"
endpoint = "/api/v2/financial_balances/agencies"
payload = {"funding_agency_id": 775, "fiscal_year": 2017}

response = requests.get(f"{url}{endpoint}", params=payload)
data = response.json()

df = pd.DataFrame(data["results"])
>>> df
  budget_authority_amount obligated_amount   outlay_amount
0         101176701717.16   82181642249.31  75144058726.11

相关问题 更多 >