csvSchema 1.1.0的Len()问题

2024-09-30 16:19:35 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,我使用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'Line 5, column 1: The value can not be longer than 3', u'Line 5, column 2: The value can not be longer than 7', u'Line 5, column 3: The value can not be longer than 3', u'Line 5, column 4: The value can not be longer than 8', u'Line 5, column 18: The value can not be longer than 2', u'Line 5, column 19: The value can not be longer than ...

“[u'1151331313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131“,”[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 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 u u u u u u u u u u u’115131“]”、“[u'女儿]”、“[u'否]”、“[u']”、“[u'30-Jun-2012']”、“[u']”]

如您所见,第1列='chg'长度为3,应该通过,但错误是[u'行5,第1列:值不能超过3'

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


Tags: thetruevaluelinenotcolumnbemin