我正在尝试使用工具'cutplace'(http://roskakori.github.io/cutplace)创建配置,以根据特定字段为空来检查csv文件中的空字段。
因此规则是这样的:如果字段#6不为空,则字段#8,#9和#10不应为空。
但是,我似乎无法在文档中找到此选项来执行此操作。非常感谢我可以如何做到这一点。
提前致谢。
答案 0 :(得分:1)
icd/custom/custom_cutplace_checks.py
中的(确保该目录中有 init .py)
from cutplace import checks
from cutplace import ranges
class SixEightNineTen(checks.AbstractCheck):
"""Check that entries of have other fields if six is active"""
def __init__(self, description, rule, availableFieldNames, location=None):
self.as_super = super(SixEightNineTen, self)
self.as_super.__init__(description, rule, availableFieldNames, location)
self.reset()
def checkRow(self, rowMap, location):
if(rowMap["Field6"]!=''):
if(any([rowMap["Field8"]=='',rowMap["Field9"]=='',rowMap["Field10"]==''):
raise checks.CheckError(location)
在.icd文件的尾部:
,Checks,,,,,
C,filename must be unique,IsUnique,Filename,,,
C,MD5 must be unique,IsUnique,MD5,,,
C,"field6 implies 8,9,10",custom_cutplace_checks.SixEightNineTen