我正在处理一个文件,我想删除(修剪)第一个X标题行以仅保留数据,可能避免使用正则表达式.
谢谢
您可以使用Nifi中的ExecuteScript处理器删除前X个标题行.
以下是我为自己写的一个示例Jython脚本:
import json import java.io from org.apache.commons.io import IOUtils from java.nio.charset import StandardCharsets from org.apache.nifi.processor.io import StreamCallback class PyStreamCallback(StreamCallback): def __init__(self): pass def process(self, inputStream, outputStream): text = IOUtils.readLines(inputStream, StandardCharsets.UTF_8) for line in text[3:]: outputStream.write(line + "\n") flowFile = session.get() if (flowFile != None): flowFile = session.write(flowFile,PyStreamCallback()) flowFile = session.putAttribute(flowFile, "filename", flowFile.getAttribute('filename').split('.')[0]+'_translated.json') session.transfer(flowFile, REL_SUCCESS)
这显然会删除前3行,但您可以轻松修改它以删除更多或更少的行.
希望有所帮助.