提取平面数据并将其作为关系数据加载

wextractor的Python项目详细描述


|构建状态


==w-drive提取器(或wextractor)以匹兹堡市
共享合同列表的所在地命名,试图从电子表格中提取和标准化数据。s和其他文件
用于关系目标。

您可以通过pip安装wextractor——pre

用法
^^^^^


t>gt;extractor=csvextractor('http://apps.pittsburghpa.gov/police/arrest-blotter/arrest-blotter/arrest-blotter-monday.csv')
>;>;data=extractor.extract()
>;>;打印数据
>;[{u'neighborhood':u'spring garden',u'description':u'flight to prevention tri…

有关更复杂的用法示例,请参阅此文件的底部。

todo功能:
'''''''''''''''''''

-添加cli支持
-更改'`loader``和'`extractor``方法以使用kwargs
-为'`loade`'和'`extract``添加更好的异常消息
方法开发w-drive-extractor有一些外部依赖项,可以通过pip安装。建议您使用
`virtualenv<;https://github.com/codeforamerica/howto/blob/master/python virtualenv.md>;`\uuu
来管理这些文件。

w-drive-extractor是一个面向对象的应用程序。要使用
,必须首先使用
``extractor```extract``方法从原始源中*提取*数据(目前,``excelextractor``是唯一受支持的示例)。提取数据后,可以使用"loader"的"load"方法将其
*加载到其他数据源中。(目前只实现了"postgresloader")。有关如何工作的更详细示例,请查看此文件底部的示例用法。


extractors
~它需要接受一个``target`
,它可以是一个文件或url和两个可选参数。headers是最终从存储中提取的列的标题,dtypes是每列应该具有的本地python类型的列表。




todo实现:
'''''''''''''''''''''''''''''''''''''''''''''

-通用文本文件(.txt)
-Postgres
-MS Access

它需要连接参数(连接参数的python字典)和可选模式。目标是将单个输入
源(电子表格、非标准化表等)拆分为多个
表。


当前实现:
'''''''''''''''''''''''''''

-postgres[具有关系和简单的重复数据消除功能!]

todo实现:
要运行测试,请运行

::


pythonpath=。nosetests从根目录中测试/

。有关更多覆盖率信息,请运行

::


pythonpath=。鼻试验/-vs——有覆盖范围——cover package=wextractor——cover erase

注意:这个实现仍然是脆弱的,并且可能依赖于to关系是下面
列表中的最后一个表。


::



import datetime

der

one_sheet=excellextractor(
'files/one sheet contract list.xlsx',
数据类型=[
Unicode、Unicode、Unicode、Int、Unicode,
Unicode、DateTime.DateTime、Int、Unicode、Unicode,
Unicode、Unicode、Unicode、Unicode、Unicode,
unicode,unicode,unicode,unicode
]

数据=一张工作表。extract()


loader=postgresloader(
{database':'w'u drive','user':'bensmithgall','host':'localhost'},
[{
'表名':'contract',
"到关系":[],
"来自关系":["公司"],
"pkey":无,
"列":(
("说明","文本"),
("注释","文本"),
("合同编号","varchar(255)",
("委员会""ty","varchar(255)",
("合同类型","varchar(255)",
("pa","varchar(255)",
("过期","时间戳"),
("规范编号","varchar(255)",
("控制器编号","整数"),
('commcode','integer')

},
{
'表名':'公司联系人',
'到关系':[],
'来自关系':['公司',
'pkey':无,
'列':(
('contact'name',"varchar(255)",
("address_1","varchar(255)",
("address_2","varchar(255)",
("phone_number","varchar(255)",
("email","varchar(255)",
("fax_number","varchar(255)",
("fin",'varchar(255)',

},
{
‘表名’:‘公司’,
‘与公司的关系’:[‘公司的联系’,‘合同’,
‘来自公司的关系’:[,
‘pkey’:无,
‘列’:(
(‘公司’,'varchar(255)',
('bus_type','varchar(255)',

}




loader.load(data,true)

|构建状态图像::https://travis-ci.org/codeforAmerica/w-drive-extractor.svg?branch=master
:目标:https://travis-ci.org/codeforamerica/w-drive-extractor

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

推荐PyPI第三方库


热门话题
使用applets查询的多人java游戏?   java如何基于字符串生成数组   基于java多边形的路径查找   java如何对多列ArrayList排序   java批处理更新从更新中返回了意外的行数(Spring/Hibernate)   java如何使用SeleniumWebDriver列出<tr>标记内的所有<td>   java如何使用SimpleFlatMapper将前缀为CSV的列别名到映射?   java为什么通过eclipse运行/调试TomCat时会出现ClassNotFoundException   java Android滚动视图上次视图未显示内部线性布局   替换字符串中不带空格的字符序列   调用方法时Java Swing GUI冻结   java是否允许/建议重用收集器?   在同步方法中使用java hashmap迭代器时   在java XMLDecoder XMLEncoder中写入XMLdatabase   java I无法在活动的片段中填充recyclerview   java Jitsi在调用过程中播放WAV文件如果可能,与音频混合   java JPA为什么我看到DB中每行有两个实体实例?