嗨我需要获取csv文件中的行数而不是第一行是标题 我需要在一个属性中存储行数,并将流文件解析为未处理的下一个处理器
我正在考虑使用extracttext,但我不认为正则表达式可以做到这一点。
所以下一步将是一个executeScript处理器。 我想到了一个带有以下模板的python脚本
flowFile = session.get()
if (flowFile != None):
# All processing code starts at this indent
attrMap = ['numberOflines': '1', 'myAttr2': Integer.toString(2)]
flowFile = session.get()
if(!flowFile) return
#Do something to get numbers of lines in the flow file
i =0;
for line in flowfile
i+=1
flowFile = session.putAttribute(flowFile, 'attribute_numberOfLines', i)
if errorOccurred:
session.transfer(flowFile, REL_FAILURE)
else:
session.transfer(flowFile, REL_SUCCESS)
最后这不会运行
答案 0 :(得分:4)
尝试将SplitText处理器的线路拆分计数设置为高于文件中可能的最大行数(例如1百万)的某个数字。如果希望总行数减去标题,也可以将标题行计数设置为1。您将获得相同的流文件,但使用包含行数的text.line.count属性。