如何使用Talend将单个CSV文件的每行数据转为独立JSON文件
如何用Talend将CSV每行数据转为独立JSON文件
步骤1:构建拆分数据流
- 使用
tFileInputDelimited组件读取你的CSV文件,配置好分隔符、表头匹配等参数,确保能正确解析每行数据。 - 将
tFileInputDelimited与tFlowToIterate组件连接,这个组件会把批量数据流拆分成单条记录,逐个进入后续处理环节。
步骤2:单条记录转独立JSON文件
- 从
tFlowToIterate引出连接到tFixedFlowInput,把迭代出来的所有字段映射到该组件中,保证单条记录能完整传递。 - 连接
tFixedFlowInput到tFileOutputJSON,重点配置以下内容:- 文件名设置:使用动态命名规则,比如输入
"output/student_" + ((Integer)globalMap.get("row1.studentid")) + ".json",这样每条记录会以对应的studentid作为文件名后缀,生成如student_1.json、student_2.json这类独立文件。 - 输出格式配置:在
Advanced settings里,将Output format选择为JSON object,确保每个文件内是单个JSON对象,而非数组格式。 - 文件覆盖规则:取消勾选
Append选项,保证每个文件都是全新生成,不会出现内容追加的问题。
- 文件名设置:使用动态命名规则,比如输入
额外注意事项
- 如果不需要用studentid命名,也可以用迭代序号生成文件名,比如
"output/student_" + ((Integer)globalMap.get("tFlowToIterate_CURRENT_ITERATION")) + ".json"。 - 提前用
tCreateDirectory组件创建输出目录,避免因目录不存在导致任务报错。
内容的提问来源于stack exchange,提问作者msangel
相关产品推荐
相关产品推荐

