博主介绍:
他们叫我技术总监,拥有5年BI、数据库、用友NC、帆软report、python工作经验,
毕业一年被迫当上某集团部门开发经理,成立开发部,次年任命为总监。
因个人执着于技术,所以被总经理戏称为技术总监。
拥有帆软认证、项目管理工程师等认证。目前主要专研大数据方向,希望和您一起学习一起进步。
文章目录
前言
日常使用过程中不可避免要对CSV文件进行数据分析,比如很多没有数据库的实验室设备存储文件很多是以csv文件格式存储的。本主主要介绍远程服务器或者设备上CSV文件的清洗和处理。
一、csv文件是什么?
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。
二、使用步骤
1.创建共享文件盘
具体效果如下(示例):
前期准备:
kettle服务器与CSV文件PC机或服务器可相互访问。可通过ping对应PC机或服务器IP来测试。
如:cmd ping 10.110.60.136 -t
如公司不允许直接开放IP可以通过开放455端口实现。该配置在防火墙配置。
共享CSV文件所在PC机或服务器的文件夹。
可参考下面链接https://jingyan.baidu.com/article/495ba84144089478b20ede3b.htmlhttps://jingyan.baidu.com/article/495ba84144089478b20ede3b.html在服务器设置共享盘:
然后输入共享PC或服务器的账号密码即可完成共享盘的设置。
2.读入数据
效果图如下(示例):
原CSV文件数据
抽取转换至数据库的数据
实现步骤:
分析CSV文件的格式,发现对应CSV文件的分隔符的规律。(建议使用记事本打开查看)
新建kettle转换,新建csv文件输入组件,按图示设置(具体按实际CSV文件设置)
数据清洗:
去掉错误数据如特殊字符和重复标题行等。
具体使用字符串替换组件,对应组件使用正则表达式的方式。如图所示选择需要清洗的字段设置替换规则,如样品名称里面出现了双引号是我们不想要的,我们可以使用正则表达式“+来处理该字段所有包括双引号的字符用空来替换,对应字符替换的方法一致。对应重复标题行在执行SQL脚本里面进行处理。
对应可以通过增加常量的组件来增加csv文件里面没有的列,但是我们需要统计的列。如需增加车间的名称。
使用过滤记录功能,在入库前过滤掉为空的值。如图所示过滤记录编号为空的值。
最后一步:
入库。这边建议使用插入/更新的方式,该方式可以保证已同步的数据不会丢失,同时可以指定联合主键,防止重复数据入库。
总结
以上就是今天要讲的内容,本文仅仅简单介绍了kettle CSV文件同步的使用,而kettle提供了大量能使我们快速便捷地处理CSV文件的方法。具体步骤包括:
1、设置共享文件盘
2、识别CSV文件分隔符
3、设置CSV文件抽取程序(CSV文件读取→脏数据清洗→增加自定义字段→空数据过滤→入库数据处理)
最后送大家一句:三更灯火五更鸡,正是男儿读书时。