0

好吧,我正在使用 python 开源包https://pypi.python.org/pypi/CsvSchema/1.1.0通过我设置的规则进行 csv 验证,它似乎有一些非常过时的文档。我正在检查文件中的每个字段并检查长度,如果它在规则中声明的最小长度/最大长度内,它应该通过。奇怪的是它没有。代码片段在这里:

class TestCsvStructure(BaseCsvStructure):

a = StringColumn(blank = True, min_length = 0, max_length = 1000,)#4 bytes
b = StringColumn(blank = True, min_length = 1, max_length = 3,)
c = StringColumn(blank = True, min_length = 0, max_length = 7,)
d = StringColumn(blank = True, min_length = 0, max_length = 3,
e = StringColumn(blank = True, min_length = 0, max_length = 8,)
f = StringColumn(blank = True, min_length = 0, max_length = 255,)
g = StringColumn(blank = True, min_length = 0, max_length = 255,)
h = StringColumn(blank = True, min_length = 0, max_length = 255,)

现在,当我通过我的文件时,第 1 列只有 3 个字符,但它仍然会产生错误:

feed number = 5 [u'第5行第1列:值不能超过3',u'第5行第2列:值不能超过7',u'第5行第3列:值不能超过 3', u'第 5 行, 第 4 列: 值不能超过 8', u'第 5 行, 第 18 列: 值不能超过 2', u'第 5 行,第 19 列:该值不能长于...

[“[u'115133']”,“[u'chg']”,“[u'Female']”,“[u'No']”,“[u'Active']”,“[u'主要名称']"、"[u'']"、"[u'']"、"[u'Silvi']"、"[u'']"、"[u'Ojuland']"、"[ u'']", "[u'Relative or Close Associate (RCA)']", "[u'']", "[u'']", "[u'']", "[u'' ]”、“[u'']”、“[u'']”、“[u'']”、“[u'']”、“[u'']”、“[u'']” ,“[u'']”,“[u'']”,“[u'']”,“[u'']”,“[u'']”,“[u'']”、“[u'']”、“[u'']”、“[u'']”、“[u'']”、“[u'']”、“[u'']” ,“[u'']”,“[u'']”,“[u'']”,“[u'']”,“[u'']”,“[u'']”,“ [u'']"、"[u'']"、"[u'']"、"[u'']"、"[u'']"、"[u'']"、"[u 'Citizenship']", "[u'Estonia']", "[u'']", "[u'']", "[u'']", "[u'']", "[u '']"、"[u'']"、"[u'115131']"、"[u'Daughter']"、"[u'No']"、"[u'']"、"[u'30-Jun-2012']", "[u'']"]

如您所见, column 1 = 'chg' 长度为 3 并且应该通过,但错误显示 [u'Line 5, column 1: The value can not be long than 3' 。.

任何对 csvSchema 1.1.0 包有经验的人都可以提供帮助。

4

1 回答 1

0

您是否以这种形式传递参数: TestCsvStructure([e1, e2,.., en], no_line) ?

其中 e 是元素,no_line = CSV 文件中的当前行数。

于 2013-08-02T19:41:28.623 回答