qq_33167196 2022-07-15 18:06 采纳率: 100%
浏览 134
已结题

Kettle读取非固定格式的excel问题

问题遇到的现象和发生背景

使用kettle读取指定目录下的所有excel文件。不同的excel文件的字段不一样,起始行也不一样。请问,有没办法设置参数,让kettle按照参数来读取起始行?

另外,字段的话,现在看到的现象是kettle只能按顺序读取,而不是按照字段标题读取。请问这个有办法解决吗?
比如A.excel字段为:A,B,C,D
比如B.excel字段为:A,B,D,E
设置好A,B,C,D,E这个5个字段,想法是这样不管读哪个excel都能将值对应到相应列中。
但现实是:读取A.excel没有问题,读取B.excel就不行了,字段DE错位。

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

2条回答 默认 最新

  • 原来我不知道啊 2022-07-15 18:32
    关注

    是否可以这样:
    1、先获取目录下所有文件的名字;
    2、根据名字建立分支,将相同格式的文件放到相同的分支中;
    3、这样每个分支处理的文件格式就相同了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • qq_33167196 2022-07-15 19:53
    关注

    按照兄弟提供的思路,我这样做:读取这个目录下的文件名,然后去数据库里面查询文件名对应的格式(数据库中已经预先设置好了)。步骤如下:

    获取文件名(获取文件名组件)->从文件名获取ID(剪切字符串组件)->查找ID与解析格式的映射关系(表输入组件)->????
    1_文件 1 1 格式a 如何得到只有1、2的id数据
    2_文件 2 2 格式b
    3 格式c

    但现在第四步不会做了。我该如何处理,才能得到文件ID对应的映射关系呢?(第3步是全量的ID,不能将其用于条件分支。我不知道能否把第二步的内容直接放在第三步中作为sql查询条件来过滤数据)

    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月30日
  • 已采纳回答 7月22日
  • 创建了问题 7月15日

悬赏问题

  • ¥35 用C语言解决编程问题
  • ¥15 unity硬件连接与使用
  • ¥15 鱼缸加热棒的数据分析或者实际案例也行
  • ¥15 postgresql11安装完成后,pgadmin无法启动
  • ¥15 (标签-无人机|关键词-Matlab代码)
  • ¥15 执行shell脚本提示参数太多
  • ¥15 困扰好久了,电脑的串口调试助手向单片机发送一个字符(如:字符‘1’到‘8’),单片机点亮对应的灯(如发送字符‘2’则点亮第2个灯)并给电脑回复信息:已点亮第x个灯(其中 x 要替换成对应的数字)
  • ¥15 求减少这个c++程序内存的解决方案
  • ¥30 改正代码,错误比较多
  • ¥15 vue3 keepalive