我有一个文本文件,我想解析成几个文本文件。该文件太大,无法在Excel中打开。所以,我最好的猜测是在SSIS中以某种方式做到这一点。 (真的,因为我现在知道该怎么做。)我可以在Notepad ++中手动完成,但我需要一个自动化的解决方案。
源文本文件没有标题,包含各种列数的记录,所有类似的记录都组合在一起,文件是以管道分隔的。
以下是我要解析的示例文本文件:
A|stuff CRLF
A|more_stuff CRLF
B|stuff|more_text CRLF
B|more_stuff|yet_more_text CRLF
(CRLF是行尾分隔符。正如您所看到的,A' A'记录的列数与' B'记录的列数不同。)
我想将第一列中具有相同值的所有记录放入单独的文本文件中。也就是说,我想把所有的' A'记录到一个文本文件中,我想把所有' B'记录到另一个文本文件中。我不想要通过SQL表。这在SSIS中是否可行?如果是这样,我该怎么办?如果没有,最适合这种情况的工具是什么?
答案 0 :(得分:0)
将数据流任务添加到包后,您可以使用条件拆分。在条件拆分中,您需要标记A和B使用某种表达式的内容。在你的情况下,它将是这样的:输出名称= A,条件将是[列的名称] ==“A”。对B也做同样的事情,然后当您将输出箭头连接到平面文件目的地时,您可以选择将哪个输出放在哪个文本文件中。
答案 1 :(得分:0)
可以使用Flatfilesource,Derivedcolumns,ConditionalSplit转换。表示具有单列的每一行。为此提供输入文件中没有的列分隔符(例如。^)。
z.png