[Kettle] Excel输入

Excel文件采用表格的形式,数据显示直观,操作方便

Excel文件采用工作表存储数据,一个文件有多张不同名称的工作表,分别存放相同字段或不同字段的数据

数据源

物理成绩(Kettle数据集2).xls https://download.csdn.net/download/Hudas/88509178?spm=1001.2014.3001.5501

1. 建立【Excel输入】转换工程

使用Ctrl+N快捷键,创建【转换1】转换工程,单击【核心对象】选项卡,展开【输入】对象,选中【Excel输入】组件,并拖曳到右边工作区中,如下图所示

2. 设置【Excel输入】组件参数

双击【Excel输入】组件,弹出【Excel输入】对话框,其中显示默认的【文件】对话框,如下图所示

需要注意的是,【Excel输入】对话框下方的【预览记录】按钮是灰色的,表示不能单击该按钮

在【Excel输入】对话框中,包含组件的基础参数,以及【文件】【工作表】【内容】【错误处理】【字段】【其他输出字段】6个选项卡的参数

【文件】【工作表】【字段】选项卡的参数是必填项 (没有设置参数时,选项卡名称前面会显示"!"符号,表示是必填项,设置参数后"!"符号会消失),并且必须按照【文件】【工作表】【字段】选项卡的顺序设置,其他为可选项

【文件】选项卡参数

在【文件】选项卡参数的说明如下表所示

|-------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 参数名称 | 说明 |
| 表格类型(引擎) | 表示Excel文件的表格类型,类型如下 Excel 97-2003 XLS:JXL软件后端提供向后兼容类型 Excel 2007 XLSX (Apache POI):读取所有已知的Excel文件类型 Excel 2007 XLSX (Apache POI流):读取大型Excel文件 Open Office ODS:使用ODFDOM引擎读取OpenOffice电子表格 默认为Excel 97-2003 XLS |
| 文件或目录 | 表示要输入的Excel文件或所在的目录,可以单击【浏览】按钮获取Excel文件或目录。默认值为空 |
| 正则表达式 | 表示使用正则表达式,获取文件相应的Excel文件。使用正则表达式,可以动态匹配获取多个Excel文件。默认值为空 |
| 正则表达式(排除) | 表示排除型的正则表达式,与正则表达式相反,使用排除型的正则表达式,排除掉匹配文件,而获取不匹配的Excel文件。默认值为空 |
| password | 表示读取Excel文件的密码。一些Excel文件有读取密码,因此要输入密码才能获取,默认值为空 |
| 文件和目录 | 表示选中的Excel文件或目录,单击【增加】按钮,读入经过浏览获取的文件和目录 |
| 通配符号 | 表示使用通配符号选中Excel文件或目录。配置符合通配符号规则的多个Excel文件 |
| 通配符号(排除) | 表示使用排除性通配符号选中Excel文件或目录。配置符合通配符号(排除)规则外的其他多个Excel文件 |
| 要求 | 表示配置所需的源文件的位置 |
| 包括子目录 | 表示是否包括子目录的文件 |
| 选中的文件 | 表示选中的Excel文件列表。通过单击【增加】按钮将文件或目录添加到列表中,并进行参数设置,参数有:【文件/目录】【通配符号】【通配符号(排除)】【要求】【包括子目录】等参数,有关参数的说明如下表所示。至少要有一个选中的Excel文件,默认值为空 |
| 从前面的步骤获取文件名 | 表示是否从前面组件(步骤)读取文件名,如果选择是,则不用本组件获取Excel文件,而是从前面步骤的组件中读取文件、并保存文件的字段名。默认值为空 |

在【文件】选项卡中,设置参数,并导入"物理成绩.xls"文件,步骤如下所示

(1) 浏览导入Excel文件

单击【浏览(B)...】按钮,在计算机上浏览并导入"物理成绩.xls"文件,如下图所示

(2) 添加并编辑Excel文件

单击【增加】按钮,将【文件或目录】输入框中的"C:\Users\HP\Desktop\物理成绩.xls"文件,添加至【选中的文件】表中,如下图所示

如果选中的文件有问题,那么单击【删除】或【编辑】按钮,即可对选中的Excel文件进行编辑。其中,单击【选中的文件】表的行号,再单击【删除】按钮,即可删除选中所在行的文件

(3) 查看被选中的文件名称

单击【显示文件名称...】按钮,弹出【文件读取】对话框,查看被选中读取的文件,如下图所示

重复步骤(1)~(3),可以添加多个Excel文件,并查看读取的文件名称

提示Tips

另外,如果需要导入同一个目录下的多份名称类似的文件,如导入同一个目录下名称分别为"物理成绩.xls""物理成绩1.xls"和"物理成绩2.xls"的文件

我们可以使用通配符的方式导入,具体操作是在【选中的文件】参数表中,在【文件/目录】输入框中键入"C:\Users\HP\Desktop\",在【通配符号】输入框中键入"物理成绩*.\.xls",可以一次性读入这3个文件,如图所示

【工作表】选项卡参数

单击【工作表】选项卡,如下图所示

在【要读取的工作表列表】表中设置工作表参数,获取导入的Excel文件的工作表,【工作表】选项卡参数的说明如下表所示

|----------|------------------------------------------------------------------------------|
| 参数名称 | 说明 |
| 工作表名称 | 表示Excel文件的工作表名称。可以是一个Excel文件、多个工作表,也可以是多个Excel文件、多个工作表。不同的文件,工作表名称可以相同。默认值为空 |
| 起始行 | 表示要读取的工作表中的开始行,行号是从0开始。默认值为空 |
| 起始列 | 表示要读取的工作表中的开始列,列号是从0开始。默认值为空 |

在【工作表】选项卡中,设置导入的Excel文件的工作表参数,步骤如下所示

(1) 获取选中文件的工作表

单击【获取工作表名称...】按钮,弹出【输入列表】对话框,左边【可用项目】列表列出选中文件的所有工作表,如"物理成绩.xls"文件的"Sheet1"工作表,而右边【你的选择】列表列出被选中的工作表,如图所示

(2)选择工作表

在【输入列表】对话框中,单击中间的【>】【>>】【<】【<<】按钮,可以在左、右列表中,选中或移除工作表,有关按钮说明如下表所示

|--------|-----------------------------------------------------------|
| 按钮 | 说明 |
| > | 表示右移按钮,选择左边【可用项目】列表中一个工作表,移到右边【你的选择】列表中 |
| < | 表示左移按钮,将右边【你的选择】列表中的一个工作表移回到左边【可用项目】列表中,与【>】按钮操作相反 |
| >> | 表示右移批处理按钮,将左边【可用项目】列表中的所有工作表,移到右边【你的选择】列表中 |
| << | 表示左移批处理按钮,将右边【你的选择】列表中的所有工作表,移回到左边【可用项目】列表中,与【>>】按钮操作相反 |

在【输入列表】对话框中,将左边【可用项目】工作表"Sheet1"选中移到右边【你的选择】表中

(3) 设置选中的工作表参数

单击【确定】按钮,将【你的选择】列表选中的"Sheet1"工作表添加至【要读取的工作表列表】表中进行参数设置,【起始行】和【起始列】参数都设置为"0",此时完成【工作表】选项卡参数的设置,如下图所示

提示Tips

如果导入的Excel文件中的每个工作表的字段结构都相同,那么在【要读取的工作表列表】表中的第1行,不设置任何工作表名称(即【工作表名称】输入栏留空),只需设置第1行的【起始行】和【起始列】输入栏参数,这样的设置是读取所有的工作表,即第1行将用于所有工作表

【字段】选项卡参数

单击【字段】选项卡,如下图所示

在【字段】选项卡中,设置"物理成绩.xls"文件中字段的参数,步骤如下所示

(1) 获取字段

单击【获取头部数据的字段...】按钮,添加字段到【字段】表中设置字段参数,如下图所示

(2) 设置字段参数

对字段参数进行设置,如下图所示,此时完成【字段】选项卡参数的设置

当获取字段后,【Excel输入】对话框下方【预览记录】按键的字体显示为黑色,说明此时可以预览数据

提示Tips

需要说明的是,如果有些Excel文件的文件头部没有字段数据,那么系统会自动生成默认的字段名称,也可以重新编辑字段名称,字段的类型、长度等字段属性

【内容】选项卡参数

单击【内容】选项卡,如下图所示

对读取Excel文件内容进行参数设置,一般按照缺省值配置,参数的说明如下表所示

|----------|----------------------------------------------------------------------------------|
| 参数名称 | 说明 |
| 头部 | 表示对选中的工作表是否包含表头行。默认值为√ |
| 非空记录 | 表示是否在输出中不出现空行(记录)。默认值为√ |
| 停在空记录 | 表示当读取记录遇到空行时,选择是否停止读取文件的当前工作表。默认值为空 |
| 限制 | 表示限制生成的记录数量。当设置为0时,结果不受限制。默认值为0 |
| 编码 | 表示读入的文本文件编码。第一次使用时,Kettle会在系统中搜索可用的编码。使用Unicode的,请指定UTF-8或UTF-16。默认值为Kettle系统的编码 |

【错误处理】选项卡参数

单击【错误处理】选项卡,如下图所示,可对获取Excel文件时产生的错误处理参数进行设置,检查和定位错误位置,一般按照缺省值配置

【其他输出字段】选项卡参数

单击【其他输出字段】选项卡,如下图所示

对Excel文件的其他输出字段参数进行设置,用于指定处理文件的附加信息,默认值为空,一般按照缺省值配置,有关参数的说明如下表所示

|------------|-------------------------------|
| 字段参数 | 说明 |
| 文件名称字段 | 表示指定完整的文件名称和扩展名的字段。默认值为空 |
| 工作表名称字段 | 表示指定要使用的工作表名称的字段。默认值为空 |
| 表单的行号列 | 表示指定要使用的当前工作表行号字段。默认值为空 |
| 行号列 | 表示指定写入行数的字段。默认值为空 |
| 文件名字段 | 表示指定文件名但没有路径信息、但有扩展名的字段。默认值为空 |
| 扩展字段 | 表示指定文件名扩展名的字段。默认值为空 |
| 路径字段 | 表示指定以操作系统格式包含路径的字段。默认值为空 |
| 文件大小字段 | 表示指定文件数据大小的字段。默认值为空 |
| 是否为文件隐藏字段 | 表示文件是否为隐藏的字段(布尔值)。默认值为空 |
| Uri字段 | 表示指定包含Uri的字段。默认值为空 |
| Root Uri字段 | 表示指定仅包含uri的根部分的字段。默认值为空 |

3. 预览结果数据

设置好字段参数后,单击【预览记录】按钮,弹出【预览数据数量】对话框,要预览的行数采用默认值,并单击【确定】按钮

弹出【预览数据】对话框,展示Excel输入的数据,如下图所示

相关推荐
浊酒南街14 小时前
hive中map_concat函数介绍
数据仓库·hive·hadoop
Java资深爱好者1 天前
数据湖与数据仓库的区别
大数据·数据仓库·spark
zmd-zk2 天前
hive中windows子句的使用
大数据·数据仓库·hive·hadoop·windows·分布式·big data
字节数据平台2 天前
基于OLAP湖仓一体架构,火山引擎ByteHouse助力企业降本提效
数据仓库·火山引擎
isNotNullX3 天前
数据仓库还是数据集市?这俩怎么选?
大数据·数据仓库·分布式·etl
hamish-wu3 天前
Dolphinscheduler配置dataX离线采集任务写入hive实践(二)
数据仓库·hive·hadoop
朽木自雕,格物致知!3 天前
hive分区表
数据仓库·hive·hadoop
isNotNullX3 天前
数据网格能替代数据仓库吗?
大数据·数据库·数据仓库·etl·数据同步·数据网格
hamish-wu3 天前
dolphin 配置data 从文件导入hive 实践(一)
数据仓库·hive·hadoop
Yz98763 天前
Hive的远程模式
大数据·linux·数据仓库·hive·hadoop·分布式·big data