提取平面数据并将其作为关系数据加载
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
==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