【发布时间】:2019-06-21 05:31:20
【问题描述】:
http://stat.data.abs.gov.au/restsdmx/sdmx.ashx/GetDataStructure/all
从上面的链接我们得到http://www.abs.gov.au/中可用的数据集列表
我需要提取所有英文和法文的数据集 ID 和名称
KeyFamily id 作为“数据集 ID”
将 xml:lang="en" 命名为“数据集名称英文”
将 xml:lang="fr" 命名为“数据集名称法语”
从表中:“消息:KeyFamilies”
来源:
尝试下面的代码:
import requests
import pandas as pd
import xml.etree.ElementTree as ET
URL = 'http://stat.data.abs.gov.au/restsdmx/sdmx.ashx/GetDataStructure/all'
print('\n> Retrieving XML Data:', URL)
XML_Data = requests.get(URL).content
print('>> XML_Data:', len(XML_Data))
def xml2df(XML_Data):
root = ET.XML(XML_Data) # element tree
all_records = []
for i, child in enumerate(root):
print(i)
record = {}
for subchild in child:
record[subchild.tag] = subchild.text
all_records.append(record)
df = pd.DataFrame(all_records)
return df
df = xml2df(XML_Data)
【问题讨论】:
标签: python python-3.x pandas xml-parsing