跳转到主要内容

验证存储在CSV、PRN、ODS或Excel文件中的数据

项目描述

PyPI Documentation Build Status Test coverage Black

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 (58.9 kB 查看哈希值)

上传时间

构建分布

cutplace-0.9.1-py3-none-any.whl (67.3 kB 查看哈希值)

上传时间 Python 3

由以下支持