概述
我想将荷兰统计局(CBS)的OData XML数据源导入我们的数据库.使用lxml和pandas我认为这应该是直截了当的.通过使用OrderDict,我想保留列的顺序以便于阅读,但不知怎的,我无法做到正确.
from collections import OrderedDict
from lxml import etree
import requests
import pandas as pd
# CBS URLs
base_url = 'http://opendata.cbs.nl/ODataFeed/odata'
datasets = ['/37296ned', '/82245NED']
feed = requests.get(base_url + datasets[1] + '/TypedDataSet')
root = etree.fromstring(feed.content)
# all record entries start at tag m:properties, parse into data dict
data = []
for record in root.iter('{{{}}}properties'.format(root.nsmap['m'])):
row = OrderedDict()
for element in record:
row[element.tag.split('}')[1]] = element.text
data.append(row)
df = pd.DataFrame.from_dict(data)
df.columns
检查数据,OrderDict的顺序正确.但是看看df.head(),列首先按字母顺序排序,然后用CAPS排序?
帮忙,有人吗?
最后
以上就是碧蓝紫菜为你收集整理的python etree pandas_python – pandas.DataFrame.from_dict不使用OrderedDict保留顺序的全部内容,希望文章能够帮你解决python etree pandas_python – pandas.DataFrame.from_dict不使用OrderedDict保留顺序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复