我在Talend论坛上试过我的运气而且没有运气,所以我也会在这里试试。
我的工作是读取一个大表,然后将数据写入.csv文件,增量为25000行。我注意到的是,在第一个.csv文件之后创建的所有.csv文件都将数据加载到一行中,而第一个.csv文件的数据加载了25000行(我想要它)。
是否需要在tFileOutputDelimited组件上设置一个设置,该组件将允许所有后续.csv文件中的行加载,因为它们位于第一个(和“好”).csv文件中?我想这可能是由于'高级设置'选项卡上的'Escape char'值被用于什么,但我不确定。
在tFileOutputDelimited组件的“基本设置”选项卡上,CSV行分隔符值为CRLF(“\ r \ n”),字段分隔符为“,”。在组件的“高级设置”选项卡上,Escape char值为“”“,文本框值也为”“”。
此外,这是在Windows 7环境中运行。
不幸的是,我找到的针对tFileOutputDelimited组件的“高级设置”标签的文档缺少CSV选项。
以下是遇到的问题的示例。如下所示,第一个文件看起来很棒但是后面的所有文件都没有在换行符中断,最终将所有数据放在一行而不是单独的行上。
档案#1
标题行 第1行 第2行 第3行 ... 第25000行
档案#2 ......
标题rowrow1row2 ... row25000
档案#3 ......
标题rowrow1row2 ... row25000
如果您需要更多详细信息,请告诉我,我会立即发送给您。先感谢您。
答案 0 :(得分:3)
想出来。正如我在上一篇文章中所提到的,CSV行分隔符已设置为CRLF(“\ r \ n”)选项。我将其更改为LF(“\ n”)并解决了问题。我看过生成的java代码并注意到它没有将CRLF(“\ r \ n”)视为默认选项之一 - 只有\ n和\ r \ n。这使我指向了尝试\ n选项的方向。