分析和建模来自每个政治人物的popolo数据

everypolitician-popolo的Python项目详细描述


这是ruby gemeverypolitician-popolo的一个端口 Python。甚至这个自述文件都是基于gem的。

安装

您可以使用以下命令安装此软件包:

pip install everypolitician-popolo

用法

您可以从EveryPolitician手动下载popolo文件(尽管还有另一个 库(如果要自动执行此操作): See also: the everypolitician package)。

下面的示例使用Åland Lagting (这是奥兰群岛的立法机构,可用作 来自EveryPolitician page for Åland的json数据。

首先,需要使用库并从磁盘读取文件。

frompopolo_data.importerimportPopolopopolo=Popolo.from_filename('ep-popolo-v1.0.json')

每个政治人物使用的所有popolo类都已实现:

有为类上的每个属性定义的方法,例如 人员:

len(popolo.persons)# => 60person=popolo.persons.firstperson.id# => u'e3aab23e-a883-4763-be0d-92e5936024e2'person.name# => u'Aaltonen Carina'person.image# => u'http://www.lagtinget.ax/files/aaltonen_carina.jpg'person.wikidata# => u"Q4934081"

您还可以根据其 属性:

popolo.persons.get(name="Aaltonen Carina")# => <Person: Aaltonen Carina>popolo.organizations.filter(classification="party")# => [<Organization: Liberalerna>,#     <Organization: Liberalerna på Åland r.f.>,#     <Organization: Moderat Samling>,#     <Organization: Moderat Samling på Åland r.f.>,#     <Organization: Moderat samling>,#     <Organization: Moderaterna på Åland>,#     <Organization: Obunden Samling>,#     <Organization: Obunden Samling på Åland>,#     <Organization: Ålands Framtid>,#     <Organization: Ålands Socialdemokrater>,#     <Organization: Ålands framtid>,#     <Organization: Ålands socialdemokrater>,#     <Organization: Åländsk Center>,#     <Organization: Åländsk Center r.f.>,#     <Organization: Åländsk Demokrati>,#     <Organization: Åländsk center>]

开发

签出repo后,使用以下命令安装依赖项:

pip install -r requirements.txt

然后可以使用以下命令运行测试:

tox

要发布新版本,请在 setup.py并将注释添加到描述 修复或新功能。

另请参见:Everypolician套餐

在上面的例子中,popolo数据来自 文件(ep-popolo-v1.0.json),即 可以从EveryPolitician website获取。但是你的ruby应用程序可以 还可以使用 everypolitician package, 所以根本不需要处理json文件。价值 从Legislature.popolo方法返回的是Popolo 对象,可以如上所述使用。例如,您可以 安装软件包时使用:

pip install everypolitician

然后按如下方式使用:

fromeverypoliticianimportEveryPoliticianaustralia=EveryPolitician().country('Australia')australia.code# => u'AU'senate=australia.legislature('Senate')senate.popolo().persons.get(name='Aden Ridgeway')# => <Person: Aden Ridgeway>

贡献

GitHub上欢迎错误报告和请求 <;https://github.com/everypolician/everypolician popolo python>;

许可证

gem是根据MIT License的条款作为开放源码提供的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring数据JPA+Hibernate在不首先找到父实体的情况下保存子实体   php Java:如何从CLI接收命令   spring为java中的导出数据创建访问文件   java在Windows 8.1上安装Play Framework   java Spring启动白标签错误页面(类型=未找到,状态=404)   java如何在单击时从数组中绘制?   java fn:substringAfter()上次出现   java在IFR语句中使用方法返回   java onPause()或onStop()的名称   对关联对象的关联对象具有条件的java HQL查询   java只打印一次总值,无需迭代   java如何使用抽象Uri buildOn()方法?   如何在Java中执行sudo命令并获得错误输出?   java反射:避免对getConstructor(类<?>…)的未经检查的警告调用作为原始类型类的成员   Java:如何从类中创建的对象调用类方法?   java如何在电子邮件中嵌入图像?   java如何在Android上启用详细GC?   java什么是串行版本id?