python - 将 URL 请求从 JSON 转换为 Pandas DataFrame

标签 python pandas python-requests request

我已经尝试了一些关于请求数据并将其转换为 pandas 数据帧的教程,但是当它转换为 pandas 数据帧时,它不显示任何数据。请参阅下文。

尝试 1

首先,检查 URL 是否有 200 状态:

import requests
query = "https://data.epa.gov/efservice/PUB_DIM_FACILITY/ROWS/0:10/JSON"
response = requests.get(query)
print(response.status_code)
>>> 200

其次,检查请求内容。到目前为止看起来不错,因为从 URL 中提取了 JSON 格式的多行数据。

s=requests.get(query).content
print(s)
>>> b'[{"FACILITY_ID":1000001,"LATITUDE":48.828707,"LONGITUDE":-122.685533,"CITY":"FERNDALE"

最后,将 s 请求 JSON 数据转换为 Pandas Dataframe。

但是,这不起作用。

dataframe=pd.read_csv(io.StringIO(s.decode('utf-8')), encoding='utf-8', error_bad_lines=False)
dataframe.head()
>>> 0 rows × 459 columns

尝试 2

import pandas as pd
import io
import requests

url = 'https://data.epa.gov/efservice/PUB_DIM_FACILITY/ROWS/0:10/JSON'
r = requests.get(url)  
df = pd.read_csv(io.StringIO(r.t
ext))
>>> 0 rows × 459 columns

我在这里做错了什么?任何意见将不胜感激。谢谢。

最佳答案

试试这个

import pandas as pd

df = pd.read_json('https://data.epa.gov/efservice/PUB_DIM_FACILITY/ROWS/0:10/JSON')

FACILITY_ID LATITUDE    LONGITUDE   CITY    STATE   ZIP COUNTY_FIPS COUNTY  ADDRESS1    ADDRESS2    ... REPORTED_INDUSTRY_TYPES FACILITY_TYPES  SUBMISSION_ID   UU_RD_EXEMPT    REPORTING_STATUS    PROCESS_STATIONARY_CML  COMMENTS    RR_MRV_PLAN_URL RR_MONITORING_PLAN  RR_MONITORING_PLAN_FILENAME
0   1000001 48.828707   -122.685533 FERNDALE    WA  98248   53073   WHATCOM COUNTY  5105 LAKE TERRELL ROAD  NaN ... D   Direct Emitter  176997  NaN NaN NaN NaN NaN NaN NaN
1   1000001 48.828707   -122.685533 FERNDALE    WA  98248   53073   WHATCOM COUNTY  5105 LAKE TERRELL ROAD  NaN ... C   Direct Emitter  5752    NaN NaN NaN NaN NaN NaN NaN

关于python - 将 URL 请求从 JSON 转换为 Pandas DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70674248/

相关文章:

python - 使用 pandas 行的内容创建另一个 pandas 行(帮助我优化这个非常丑陋的函数)

python中的php set_error_handler等效函数

python - 使用带有secondary_y的Seaborn + Pandas绘图时如何摆脱网格线

javascript - 访问 Node.js 中函数范围之外的 http 请求对象

Python-尝试乘以列表中的项目

python - 如何只获取父目录的名称,而不是完整路径?

python - 如何获取 URL 的所有父文件夹。 pandas dataframe 中的每一行都成一行

sorting - Pandas:按最大值对列进行排序

带有代理的 Python 请求导致 SSLError WRONG_VERSION_NUMBER

python - 像 HTML5 Navigation Timing 那样用 Python 测量页面速度和网络时间?