数据清洗《黑马程序员》著本人学习笔记
如有雷同,那就是我们是一个老师教的。
数据抽取
一、CSV文件的抽取
CSV是Comma-Separated Values的缩写,即逗号分隔值。CSV文件是用逗号分隔数据字段的文件,因此也被称为逗号分隔值文件,有时会使用字符来替代逗号实现分隔,因此,也被称为字符分隔文件。CSV文件是以纯文本形式存储表格数据(数字和文本),纯文本意味着该文件是一个字符序列。CSV文件可通过Excel打开,也可以通过txt、Notepad++等文本编辑器打开,从而对文件进行查看、编辑等操作。
CSV文件是由任意数目的记录组成,记录之间以某种换行符分隔;每条记录由字段组成,字段之间的分隔符常见的有逗号或制表符。通常,整个文件中的所有记录都有完全相同的字段序列。
案例介绍
通过Kettle工具抽取CSV文件csv_extract.csv中的数据并保存至数据库extract的数据表csv中。
现有一个CSV文件csv_extract.csv,使用Excel打开的效果如下图所示
下面对如何抽取CSV文件中的数据并保存至数据库extract的数据库csv中进行讲解:
1、打开Kettle工具,创建转换
通过使用Kettle工具,创建一个转换csv_extract,并添加“CSV文件输入”控件、“表输出”控件以及Hop跳连接线,具体如图所示。
2、配置“CSV文件输入”控件
双击“CSV文件输入”控件,进入“CSV文件输入”界面。单击【浏览】按钮,选择要抽取的文件csv_extract.csv。单击【获取字段】按钮,Kettle自动检索CSV文件,并对文件中的字段类型、格式、长度、精度等属性进行分析。
单击【预览】按钮,查看文件csv_extract.csv的数据是否抽取到CSV文件输入流中。
3、配置“表输出”控件
双击“表输出”控件,进入“表输出”控件的配置界面。
单击【新建】按钮,配置数据库(数据库创建、连接、以及表的创建步骤在最下面显示)连接,配置完成后单击【确认】按钮。
数据库配置成功后可先测试,若成功则如下图:
单击目标表右侧的【浏览】按钮,获取目标表(目标表也需要提前建好,在最下方演示),即数据表csv;勾选“指定数据库字段”的复选框。
单击“数据库字段”选项卡,再单击【输入字段映射】按钮,弹出“映射匹配”对话框,将“源字段”选项框的字段和“目标字段”选项框对应的字段进行映射匹配。
“表输出”控件配置的最终效果,具体如图所示。
单击转换工作区顶部的 运行按钮,运行创建的csv_extract转换。
4、查看目标表CSV文件的数据
通过SQLyog工具,查看数据表csv是否已成功插入100行数据。
二、JSON文件的抽取
JSON(JavaScript Object Notation,即JS对象标记)是一种轻量级的数据交换格式,它是基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,从JavaScript脚本语言中演变而来的,采用完全独立于编程语言的文本格式来存储和表示数据。由于JSON有简洁、清晰的层次结构,因此使得JSON成为理想的数据交换语言。JSON易于程序开发者阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输的效率。
案例介绍
通过Kettle工具抽取JSON文件json_extract.json中的数据并保存至数据库extract中的数据表json中。
现有一个JSON文件名为json_extract.json,部分内容如图所示。
1、打开kettle工具,创建转化
通过使用Kettle工具,创建一个转换json_extract,并添加“JSON input”控件(在核心对象下的“Input”中)、“表输出”控件以及Hop跳连接线,具体如图所示。
2、配置JSON Input控件
双击“JSON input”控件,进入“JSON输入”界面;单击【浏览】按钮,选择要抽取的JSON文件json_extract.json;单击【增加】按钮,将所选择的文件添加到“选中的文件和目录”处。
单击“字段”选项卡,添加要抽取的数据字段(这里采用分层抽取数据字段,先抽取id和data字段,再从data字段中抽取field和value字段)。(我遇到的问题:在字段选项卡中添加字段后预览值为空;我的解决方法:重新建立一个后缀名.js文件,将之前的JSON文件复制粘贴到.js文件中,在进行添加字段预览)
双击“JSON input 2”控件,进入“JSON输入”界面。勾选“源定义在一个字段里?”的复选框;在“从字段获取源”处的下拉框中选择字段名,即data。单击“字段”选项卡;添加从字段data中抽取的field和value字段。双击“表输出”控件,进入“表输出”配置界面。单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。
单击目标表右侧的【浏览】按钮,选择输出的目标表,即数据表json;勾选“指定数据库字段”的复选框,用于将数据表json的字段与JSON文件json_extract.json中的字段进行匹配。
单击“数据库字段”选项卡,再单击【输入字段映射】按钮,弹出“映射匹配”对话框,将“源字段”选项框的字段和“目标字段”选项框对应的字段进行映射匹配。
“表输出”控件配置的最终效果,具体如图所示。
4、查看目标表CSV文件的数据
通过SQLyog工具,查看数据表json_extract是否抽取成功
三、数据库的创建、连接以及目标表的创建
我的话是使用SQLyog工具对数据库进行创建
打开SQLyog工具,左上方文件下面有创建新连接,保存的连接自定义命名,主机地址可以写localhost或本机的IP地址,用户名root,密码安装mysql是自己所设的密码,端口号可以不变,数据库自定义。
目标表的创建
在数据库创建好后如图
右键单击创建表,输入表名,列名,数据类型以及长度
当然也可以打开mysql命令行进行数据库及目标表的创建,反正我是觉得麻烦啦。