黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取

目录

4.1 抽取文本数据

4.1.1 CSV文件的抽取

      1. 打开Kettle工具,创建转换

      2. 配置“CSV文件输入”控件

      3.配置“表输出”控件

      4. 运行转换csv_extract

4.2 抽取Web数据

4.2.1 JSON文件的数据抽取

      1. 打开Kettle工具,创建转换

      2. 配置JSON input控件

      3. 配置“表输出”控件

      4. 运行转换json_extract


4.1 抽取文本数据

4.1.1 CSV文件的抽取

       CSV是Comma-Separated Values的缩写,即逗号分隔符。CSV文件是用逗号分隔数据字段的文件,因此也被称为逗号分隔值文件,有时会使用字符替代逗号实现分隔,因此也被称为字符分隔文件。CSV文件是以纯文本形式存储表格数据 (数字和文本),纯文本意味着该文件是一个字符序列。CSV文件可通过Excel打开,也可以通过txt、Notepad++、等文本编译器打开,从而对文件进行查看、编辑等操作。

      CSV作为数据转存的一种常用格式,具有以下8点特定的实现规则:

· 文件开头不能留空,以“行”为单位。

· 文件可含或不含列名,若含有列名,则位于文件第一行。

· 文件中的一行数据不能跨行,行与行之间不存在空行。

· 文件中以英文半角逗号(即“,”)作为分隔符,若列为空,也要表达空列的存在。

· 文件中的列内容,若存在英文半角引号(即“"”),则替换成半角双引号(即“""”)进行转义,因为在    抽取数据时,通过使用半角双引号“""”将所有的字符串内容引起来。

· 在文件读取时,引号和逗号操作规则可以互逆。

· 文件中的编码格式不做限制,可以是ASCII,也可以是Unicode或者UTF8等编码格式。

· 文件中不支持数字或特殊字符。

      1. 打开Kettle工具,创建转换

        使用Kettle工具创建一个转换csv_extract,并添加“CSV文件输入”控件、“表输出”控件以及Hop跳连接线,用于实现CSV文件数据的抽取功能,如图4-1。

黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取_第1张图片

图4-1

      2. 配置“CSV文件输入”控件

        双击4-1中“CSV文件输入”控件,进入“CSV文件输入”界面,先单击“浏览”按钮,选择需要抽取的文件csv_extract;然后单击“获取字段”按钮,Kettle自动检索CSV文件,并对其中的字段类型、格式、长度、精度等属性进行分析,如图4-2。单击“预览”按钮,查看csv_extract.csv文件是否抽取到CSV文件输入流中,抽取成功则单击“关闭”➡“确定”按钮,完成“CSV文件输入”控件的配置。黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取_第2张图片

图4-2

      3.配置“表输出”控件

        双击图4-1中的“表输出”控件,进入“表输出”界面,先单击“新建”按钮,配置数据库连接(数据库需要提前创建),配置完成后单击“测试”按钮,成功则单击“确认”

黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取_第3张图片

图4-3 

       单击“表输出”界面目标表右侧的“浏览”按钮,选择输出的目标表,即数据表csv_extract(该表需要提前创建,切需要根据抽取的文件csv_extract中数据的字段和数据类型进行创建);勾选“指定数据库字段”复选框,用于将数据表csv的字段与CSV文件csv_extract.csv中的字段进行匹配,如图4-4。

黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取_第4张图片

图4-4 

        在“表输出”界面选择“数据库字段”选项卡,单击“输入字段映射”按钮,弹出“映射匹配”对话框,依次选中“源字段”中的字段和“目标字段”中的对应字段,单击Add按钮,将选中的一组映射字段添加至“映射”框中,若“源字段”中字段和“目标字段”中字段相同,则可以单击“猜一猜”按钮,让Kettle自动实现映射,如图4-5。完成后单击“确定”按钮,完成“输入字段映射”,再单击“确定”按钮完成“表输入”空间配置。

黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取_第5张图片

图4-5 

      4. 运行转换csv_extract

        单击转换工作区顶部的运行按钮,运行转换,实现将CSV文件中的数据抽取到数据表csv中,通过SQLyog工具查看数据表,如下图4-6。

黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取_第6张图片

图4-6 

4.2 抽取Web数据

4.2.1 JSON文件的数据抽取

        JSON(javaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式。它是基于ECMAScripet(欧洲计算机协会制定的js规范)的一个子集,从JavaScript脚本语言中演变而来,采用完全独立于编程语言的文本格式储存和表示数据。JSON易于程序开发者阅读和编写,也易于机器解析和生成,并有效地提升网络传输的效率。

      需要注意的是,JSON是一种文本数据交换格式,并非编程语言,其语法只能支持字符串、数字(整数、浮点数)、布尔值、null以及对象和数组类型,常用对象和数组。

      1. 打开Kettle工具,创建转换

        使用Kettle工具创建转换json_extract,添加JSON input控件、“表输出”控件以及Hop跳连接线,如图4-7。

黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取_第7张图片

图4-7 

      2. 配置JSON input控件

        双击图4-7中的JSON input控件,进入“JSON输入”界面,单击文件或路径右侧的“浏览”按钮,选择需要抽取的JSON文件json_extract.json,单击“增加”按钮,将所选文件添加到“选中的文件”处;单击“字段”选择卡界面,如图4-8。

黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取_第8张图片

图4-8 

       进入“字段”选择卡界面后,添加需要抽取的数据字段,单击“确定按钮”,完成JSON input控件的配置,如图4-9。

黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取_第9张图片

图4-9

        双击图4-7中“JSON input2”控件,进入“JSON输入”界面,勾选“源定义在一个字段里?”复选框;在“从字段获取源”后的下拉列表中选择字段名,单击“字段”选择卡,如图4-10。

黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取_第10张图片

图4-10 

        进入“字段”选择卡界面,添加从所选字段中抽取的字段,单击“确定”按钮,完成对JSON input2控件的配置,如图4-11。

黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取_第11张图片

图4-11 

      3. 配置“表输出”控件

         双击图4-7中的“表输出”控件,进入“表输出”界面,如图4-12。单击“新建”按钮,完成数据库连接,MySQL数据库连接的配置同图4-3。

黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取_第12张图片

 图4-12

        单击图4-12中目标表右侧“浏览”按钮,选择输入出的目标表,即数据表json(该表需要提前创建,且表结构需根据json_extract.json中的数据字段和数据类型创建)如图4-13。

黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取_第13张图片 图4-13

        勾选“指定数据库字段”复选框,对数据表中的字段和JSON文件json_extract.json的字段进行匹配;单击“输入字段映射”按钮,弹出“映射匹配”对话框,单击“猜一猜”按钮,让Kettle自动实现映射;单击“确定”按钮,完成“表输出”控件配置,如图4-14。

黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取_第14张图片

 图4-14

      4. 运行转换json_extract

        单击转换工作区“运行”按钮,运行创建的转换,通过SQLyog工具查看数据表,如图4-15。

黑马程序员《数据清洗》学习笔记CSV、JSON数据抽取_第15张图片

 图4-15

你可能感兴趣的:(黑马程序员《数据清洗》学习笔,json)