文档章节

【优达学城测评】P3: Wrangle OpenStreetMap Data--Extracting Data(3)

Betty__
 Betty__
发布于 2016/10/10 20:21
字数 196
阅读 24
收藏 0

#!/usr/bin/env python
# Your task here is to extract data from xml on authors of an article
# and add it to a list, one item for an author.
# See the provided data structure for the expected format.
# The tags for first name, surname and email should map directly
# to the dictionary keys
import xml.etree.ElementTree as ET

article_file = "exampleResearchArticle.xml"


def get_root(fname):
    tree = ET.parse(fname)
    return tree.getroot()


def get_authors(root):
    authors = []
    for author in root.findall('./fm/bibl/aug/au'):
        data = {
                "fnm": None,
                "snm": None,
                "email": None
        }

       
        data["fnm"] = author.find('./fnm').text
        data["snm"] = author.find('./snm').text
        data["email"] = author.find('./email').text

        authors.append(data)
    return authors
def test():
    solution = [
    {'fnm': 'Omer', 'snm': 'Mei-Dan', 'email': 'omer@extremegate.com'}, 
    {'fnm': 'Mike', 'snm': 'Carmont', 'email': 'mcarmont@hotmail.com'}, 
    {'fnm': 'Lior', 'snm': 'Laver', 'email': 'laver17@gmail.com'}, 
    {'fnm': 'Meir', 'snm': 'Nyska', 'email': 'nyska@internet-zahav.net'}, 
    {'fnm': 'Hagay', 'snm': 'Kammar', 'email': 'kammarh@gmail.com'}, 
    {'fnm': 'Gideon', 'snm': 'Mann', 'email': 'gideon.mann.md@gmail.com'}, 
    {'fnm': 'Barnaby', 'snm': 'Clarck', 'email': 'barns.nz@gmail.com'}, 
    {'fnm': 'Eugene', 'snm': 'Kots', 'email': 'eukots@gmail.com'}]
    
    root = get_root(article_file)
    data = get_authors(root)

    assert data[0] == solution[0]
    assert data[1]["fnm"] == solution[1]["fnm"]


test()

© 著作权归作者所有

Betty__
粉丝 7
博文 360
码字总数 46678
作品 0
武汉
私信 提问
分析称开源成微软抗衡谷歌地图秘密武器

北京时间3月28日消息,美国科技网站Computerworld周二撰文指出,虽然谷歌在互联网地图领域遥遥领先于微软,但开源将成为微软抗衡谷歌地图的秘密武器。 以下为文章全文: 谷歌在许多领域的竞争...

威廉亨利
2012/03/28
1K
6
OpenStreetMap 与 Google Maps:小巫遇大巫

如 果要问 Google 除了搜索引擎之外最受欢迎的服务是什么,得到最多票数的答案之一肯定是 Google Maps。据调查,71 % 的在线地图服务使用者都在使用 Google Maps。这个免费地图服务(对个人用...

虫虫
2012/04/10
1K
3
微软开源1.25亿个美国建筑轮廓图

微软必应地图开源了 1.25 亿的美国建筑轮廓图, 这些数据以OpenStreetMap项目实现查看与浏览,必应地图团队使用微软开源的 CNTK Unified Toolkit,从必应图像库中运用深度神经网络识别建筑物...

marsdream
2018/07/02
0
0
GNOME 地图 3.20 加入更多新特性 可用性得到加强

看起来,最新的GNOME地图3.20会有不错的表现,其中加入了不少新特性。先前GNOME地图从3.16升级到3.18的时候,改进并不是那么明显。而现如今GNOME 3.20已经在准备中了,这次就有更多有趣的东西...

oschina
2016/03/03
2.2K
2
共享免费地图:OpenStreetMap

“www.OpenStreetMap.org”,这个网站看上去不能说是很漂亮,操作起来也不算方便,但它的前景却非常可观,至少,该网站制作者是这样认为的。他们的设想是,构建人人可免费使用、人人可参与制...

红薯
2009/06/08
17.5K
8

没有更多内容

加载失败,请刷新页面

加载更多

Jenkins系列_插件安装及报错处理

进入Jenkins之后我们可以进行插件的安装,插件管理位于以下模块: 发现上面报了一堆错误,是因为插件的依赖没有安装好,那么这一节,就先把这些错误解决掉吧。解决完成后,也就基本会使用插件...

shzwork
今天
2
0
mysql mysql的所有查询语句和聚合函数(整理一下,忘记了可以随时看看)

查询所有字段 select * from 表名; 查询自定字段 select 字段名 from 表名; 查询指定数据 select * from 表名 where 条件; 带关键字IN的查询 select * from 表名 where 条件 [not] in(元素...

edison_kwok
昨天
9
0
多线程同时加载缓存实现

import com.google.common.cache.Cache;import com.google.common.cache.CacheBuilder;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorServi......

暗中观察
昨天
3
0
利用VisualVM 内存查看

准备工作,建几个测试类。等下就是要查看这几个类里面的属性 package visualvm;public class MultiObject { private String str; private int i; MultiObject(String str...

冷基
昨天
2
0
组装一台工作游戏两用机

一、配置清单如下: 分类 项目 价格(元) 主板 华硕(ASUS)TUF Z370-PLUS GAMING II 电竞特工 Z370二代 支持9代CPU 1049 CPU 英特尔(Intel) i7 8700K 酷睿六核 盒装CPU处理器 2640 风扇 九...

mbzhong
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部