当前位置:  开发笔记 > 前端 > 正文

NiFi:从文件中删除固定数量的标题行

如何解决《NiFi:从文件中删除固定数量的标题行》经验,为你挑选了1个好方法。

我正在处理一个文件,我想删除(修剪)第一个X标题行以仅保留数据,可能避免使用正则表达式.

谢谢



1> Biplob Biswa..:

您可以使用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行,但您可以轻松修改它以删除更多或更少的行.

希望有所帮助.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有