2013-05-29 41 views
1

我试图从一个csv文件中导入数据,不幸的是它包含多个数据表。其实,这不是一个纯粹的csv文件。水壶:加载包含多个数据表的CSV文件

它包含一个报头字段与一些元数据,然后实际的CSV数据部分被分离:

//------------- 

Table <table_nr>;;;; 

示例文件如下所示:

Summary;; 
Reporting Date;29/05/2013;12:36:18 
Report Name;xyz 
Reporting Period From;20/05/2013;00:00:00 
Reporting Period To;26/05/2013;23:59:59 


//------------- 

Table 1;;;; 
header1;header2;header3;header4;header5 
string_aw;0;0;0;0 
string_ax;1;1;1;0 
string_ay;1;2;0;1 
string_az;0;0;0;0 
TOTAL;2;3;1;1 


//------------- 

Table 2;;; 
header1;header2;header3;header4 
string_bv;2;2;2 
string_bw;3;2;3 
string_bx;1;1;1 
string_by;1;1;1 
string_bz;0;0;0 

什么是最好的方式使用水壶来处理这些数据?

有没有办法将这个文件拆分成header和csv数据部分,然后将它们作为单独的输入进行处理?

在此先感谢您的任何提示和技巧。

最好, Haes。

回答

2

我不认为有任何步骤可以真正帮助您处理这种格式的数据。在将数据带入CSV步骤之前,您可能需要进行一些预处理。不过,您仍然可以在工作中执行此操作,方法是先调用shell并在其中执行命令,例如awk脚本将文件拆分为其组件文件,然后通过普通的Kettle模式加载这些文件。