验证存储在CSV、PRN、ODS或Excel文件中的数据
项目描述
Cutplace是一个工具和API,用于验证存储在CSV、Excel、ODS和PRN文件中的表格数据是否符合cutplace接口定义(CID)。
以下是一个名为customers.csv的示例文件,该文件存储有关客户的数据
customer_id,surname,first_name,born,gender 1,Beck,Tyler,1995-11-15,male 2,Gibson,Martin,1969-08-18,male 3,Hopkins,Chester,1982-12-19,male 4,Lopez,Tyler,1930-10-13,male 5,James,Ana,1943-08-10,female 6,Martin,Jon,1932-09-27,male 7,Knight,Carolyn,1977-05-25,female 8,Rose,Tammy,2004-01-12,female 9,Gutierrez,Reginald,2010-05-18,male 10,Phillips,Pauline,1960-11-09,female
CID可以以易于阅读的方式描述此类文件。它由三个部分组成。首先,是通用数据格式
属性 |
值 |
|
---|---|---|
D |
格式 |
分隔符 |
D |
编码 |
UTF-8 |
D |
头部 |
1 |
D |
行分隔符 |
LF |
D |
项目分隔符 |
, |
接下来是数据文件中存储的字段
名称 |
示例 |
空 |
长度 |
类型 |
规则 |
|
---|---|---|---|---|---|---|
F |
customer_id |
3798 |
整数 |
0…99999 |
||
F |
姓氏 |
Miller |
…60 |
|||
F |
名字 |
John |
X |
…60 |
||
F |
出生日期 |
1978-11-27 |
DateTime |
YYYY-MM-DD |
||
F |
性别 |
男性 |
X |
选择 |
女性, 男性 |
您可以描述整个文件必须满足的条件
描述 |
类型 |
规则 |
|
---|---|---|---|
C |
客户必须是唯一的 |
IsUnique |
customer_id |
CID可以存储在常见的电子表格格式中,特别是Excel和ODS,例如 cid_customers.ods。
Cutplace可以验证数据文件是否符合CID
$ cutplace cid_customers.ods customers.csv
现在添加一行包含损坏的date_of_birth
73921,Harris,Diana,04.08.1953,female
Cutplace拒绝此文件,并显示错误消息
customers.csv (R12C4): 无法接受字段‘date_of_birth’:日期必须匹配格式YYYY-MM-DD (%Y-%m-%d) 但却是:‘04.08.1953’
此外,Cutplace提供了一个易于使用的API,用于使用通用接口读取和写入表格数据文件,而无需处理特定数据格式的模块。要读取和验证上述示例
import cutplace import cutplace.errors cid_path = 'cid_customers.ods' data_path = 'customers.csv' try: for row in cutplace.rows(cid_path, data_path): pass # We could also do something useful with the data in ``row`` here. except cutplace.errors.DataError as error: print(error)
有关更多信息,请参阅http://cutplace.readthedocs.org/或访问项目https://github.com/roskakori/cutplace。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
cutplace-0.9.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 630547872a9e3586f53734206f02152bcc5cbe0c54ec8263b43dfb11297a68c2 |
|
MD5 | 7a54372fe15d39f7cb02ec47b895eded |
|
BLAKE2b-256 | 2d378017f70e50336795ee094fefd1ef6138b1374c587dbb63a1bf2c8b26e1b5 |
cutplace-0.9.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e2f658c2326c26d066f55525f0d4e1aad66e1212e36a5fe01f3f3feaca4eae6e |
|
MD5 | 4e4cb5c1f47283d345e285bf640ce01d |
|
BLAKE2b-256 | 56b9568985c75b50b2f4116d765b357de8f245179988cc7928a3845f05fdf836 |