目录
4.1抽取文本数据
4.1.1CSV文件的抽取
CSV是Comma-Separated Values的缩写,即逗号分隔值。CSV文件是用逗号分隔数据字段的文件,因此也被称为逗号分隔值文件,有时会使用字符来替代逗号实现分隔,因此,也被称为字符分隔文件。CSV文件是以纯文本形式存储表格数据(数字和文本),纯文本意味着该文件是一个字符序列。CSV文件可通过Excel打开,也可以通过txt、Notepad++等文本编辑器打开,从而对文件进行查看、编辑等操作。
CSV作为数据转存的一种常用格式,它有特定的实现规则,具体如下:
文件开头不能留空,以“行”为单位;
文件可含或不含列名,若含有列名,则位于文件第一行;
文件中的一行数据不能跨行,行与行间不可存在空行;
文件中以英文半角逗号作为分隔符,若列为空,也要表达空列的存在;
文件中的列内容,若存在英文半角单引号,则替换成半角双引号转义;
在文件读写时,引号和逗号操作规则可以互逆;
文件中的编码格式不作限制,可以是ASCII,也可以是Unicode或者UTF8等编码格式;
文件中不支持数字或特殊字符。
下面是关于抽取csv文件中的数据并保存在数据库extract的数据表csv中的例子。
1.打开Kettle,创建转换
通过使用Kettle工具,创建一个转换csv_extract,并添加“CSV文件输入”控件、“表输出”控件以及Hop跳连接线,具体如图所示。
2.配置“CSV文件输入控件”
双击“CSV文件输入”控件,进入“CSV文件输入”界面,单击图中“浏览”按钮,选择需要抽取的文件csv_extract.csv;单击“获取字段”按钮,Kettle自动检索CSV文件,并对文件中的字段类型、格式、长度、精度等属性进行分析。然后查看csv_extract.csv文件是否抽取到CSV文件输入流中,抽取成功则完成“CSV文件输入”控件的配置。结果如下图所示: