【问题标题】:Webservice Query to Pandas Dataframe对 Pandas 数据框的 Web 服务查询
【发布时间】:2021-08-15 12:05:20
【问题描述】:

问题

我需要从此处托管的 Web 服务中提取信息 https://fogos.icnf.pt/localizador/webserviceocorrencias.asp

Web 服务接受各种查询,例如: https://fogos.icnf.pt/localizador/webserviceocorrencias.asp?ano=2021&mes=5&distrito=faro

ano 是年份,distrito 是地区

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

如何将其导入熊猫数据框?有什么想法吗?

提前谢谢你!

【问题讨论】:

    标签: python pandas xml web-services


    【解决方案1】:

    您可以解析 XML 并从 XML 树元素创建 DataFrame:

    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   
    ...
    

    【讨论】:

      猜你喜欢
      • 2018-04-03
      • 1970-01-01
      • 2022-09-22
      • 1970-01-01
      • 1970-01-01
      • 2018-09-30
      • 2020-09-15
      • 1970-01-01
      • 2017-03-11
      相关资源
      最近更新 更多