Python 对数据帧的Webservice查询

Python 对数据帧的Webservice查询,python,pandas,xml,web-services,Python,Pandas,Xml,Web Services,问题 我需要从托管在这里的web服务中提取信息 web服务接受各种查询,如: 其中,ano是年份,distrito是地区 这将返回2021年法罗区的所有活动 如何将其导入数据帧?有什么想法吗? 提前谢谢你 您可以解析XML并从XML树元素创建数据框架: import pandas as pd import requests import io # get data resp = requests.get( 'https://fogos.icnf.pt/localizador/web

问题

我需要从托管在这里的web服务中提取信息

web服务接受各种查询,如:

其中,
ano
是年份,
distrito
是地区

这将返回2021年法罗区的所有活动

如何将其导入数据帧?有什么想法吗?


提前谢谢你

您可以解析XML并从XML树元素创建数据框架:

import pandas as pd
import requests
import io

# get data
resp = requests.get(
    'https://fogos.icnf.pt/localizador/webserviceocorrencias.asp?ano=2021&mes=5&distrito=faro')

# parse XML
et = ElementTree.parse(io.StringIO(resp.text))

# create DataFrame
df = pd.DataFrame([
    {f.tag: f.text for f in e.findall('./')} for e in et.findall('./')]
)

df
输出:

   DISTRITO       TIPO   ANO AREAPOV AREAMATO AREAAGRIC AREATOTAL  \
0      Faro   Agrícola  2021       0        0    0.0344    0.0344   
1      Faro  Florestal  2021       4      0.5         0       4.5   
2      Faro  Florestal  2021       0    0.026         0     0.026   
3      Faro  Florestal  2021       0   0.3577         0    0.3577   
4      Faro   Agrícola  2021       0        0    0.0919    0.0919   
5      Faro   Agrícola  2021       0        0    0.0794    0.0794   
6      Faro   Agrícola  2021       0        0     0.073     0.073   
7      Faro  Florestal  2021       0   0.0257         0    0.0257   
8      Faro  Florestal  2021       0   0.2447         0    0.2447   
9      Faro  Florestal  2021       0   0.0554         0    0.0554   
10     Faro   Agrícola  2021       0        0     0.003     0.003   
...