<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: One CSV file to multiple output files by column value – tFlowToIterate creates empty files in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/One-CSV-file-to-multiple-output-files-by-column-value/m-p/2550244#M149614</link>
    <description>&lt;P&gt;Hello anyxs,&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for reaching out to the &lt;STRONG&gt;Qlik community&lt;/STRONG&gt;.&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Best approach: use “&lt;/STRONG&gt;&lt;A href="https://help.qlik.com/talend/en-US/components/8.0/mysql/writing-dynamic-columns-from-source-file-to-database" target="_blank"&gt;&lt;STRONG&gt;Dynamic filename&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;” in &lt;/STRONG&gt;&lt;A href="https://help.qlik.com/talend/en-US/components/7.3/delimited/tfileoutputdelimited" target="_blank"&gt;&lt;STRONG&gt;tFileOutputDelimited &lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;— no iterate needed.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Instead of &lt;A href="https://help.qlik.com/talend/en-US/components/7.3/orchestration/tflowtoiterate" target="_blank"&gt;tFlowToIterate&lt;/A&gt;, use &lt;A href="https://help.qlik.com/talend/en-US/components/7.3/delimited/tfileoutputdelimited" target="_blank"&gt;&lt;STRONG&gt;tFileOutputDelimited &lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;with “Use dynamic filename” (or Expression in File Name)&lt;/STRONG&gt; directly in the flow.&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;Steps&lt;/H3&gt;
&lt;OL&gt;
 &lt;LI&gt;&lt;A href="https://help.qlik.com/talend/en-US/components/7.3/delimited/tfileinputdelimited" target="_blank"&gt;&lt;STRONG&gt;tFileInputDelimited&lt;/STRONG&gt; &lt;/A&gt;→ read your CSV&lt;/LI&gt;
 &lt;LI&gt;(Optional) &lt;A href="https://help.qlik.com/talend/en-US/components/8.0/tmap" target="_blank"&gt;&lt;STRONG&gt;tMap&lt;/STRONG&gt; &lt;/A&gt;→ remove id_soc&lt;/LI&gt;
 &lt;LI&gt;&lt;A href="https://help.qlik.com/talend/en-US/components/7.3/delimited/tfileoutputdelimited" target="_blank"&gt;&lt;STRONG&gt;tFileOutputDelimited&lt;/STRONG&gt;&lt;/A&gt;
  &lt;UL&gt;
   &lt;LI&gt;✔ Check &lt;STRONG&gt;“Append” = true&lt;/STRONG&gt;&lt;/LI&gt;
   &lt;LI&gt;✔ Use &lt;STRONG&gt;“File name/Stream (expression)”&lt;/STRONG&gt;&lt;/LI&gt;
   &lt;LI&gt;Set: "output/fichier_" + row1.code_soc + ".csv"&lt;/LI&gt;
  &lt;/UL&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL&gt;
 &lt;LI&gt;✔ Check &lt;STRONG&gt;“Include Header”&lt;/STRONG&gt;&lt;/LI&gt;
 &lt;LI&gt;✔ Enable &lt;STRONG&gt;“Write header only once”&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This will automatically:&lt;/P&gt;
&lt;UL&gt;
 &lt;LI&gt;create one file per code_soc&lt;/LI&gt;
 &lt;LI&gt;group rows correctly&lt;/LI&gt;
 &lt;LI&gt;avoid empty files&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;tFlowToIterate is not meant for row-by-row file writing — it passes values via globalMap, and you lose row streaming → leads to empty outputs, and that is the reason why your method failed.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 29 May 2026 12:26:10 GMT</pubDate>
    <dc:creator>Rahul_Kale</dc:creator>
    <dc:date>2026-05-29T12:26:10Z</dc:date>
    <item>
      <title>One CSV file to multiple output files by column value – tFlowToIterate creates empty files</title>
      <link>https://community.qlik.com/t5/Talend-Studio/One-CSV-file-to-multiple-output-files-by-column-value/m-p/2550234#M149611</link>
      <description>&lt;P data-bm="173"&gt;Hi,&lt;/P&gt;
&lt;P data-bm="174"&gt;I have a single CSV file with the following structure:&lt;/P&gt;
&lt;PRE data-bm="175" data-priority="2"&gt;&lt;CODE&gt;id_soc;code_soc;date;lieu;nb_clients
01;nj0120;120225;paris;25
02;nj0120;160523;nantes;10
03;jf2563;250426;leHavre;5
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P data-bm="176"&gt;I want to split this CSV into multiple output CSV files, one per&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;code_soc&lt;/CODE&gt;, with the following format (example for&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;nj0120&lt;/CODE&gt;&lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/P&gt;
&lt;PRE data-bm="177" data-priority="2"&gt;&lt;CODE&gt;code_soc;date;lieu;nb_clients
nj0120;120225;paris;25
nj0120;160523;nantes;10
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P data-bm="178"&gt;I tried using a&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;tFlowToIterate&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;to loop over each&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;code_soc&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and generate a file with a dynamic name like:&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;PRE data-bm="179" data-priority="2"&gt;&lt;CODE&gt;"fichier_" + code_soc + ".csv"
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P data-bm="180"&gt;The files are created with the correct names, but they are empty.&lt;/P&gt;
&lt;P data-bm="181"&gt;What is the best way to split one CSV into multiple CSV files dynamically based on a column value, without having to manually create a filter for each value?&lt;/P&gt;
&lt;P data-bm="182"&gt;Thanks in advance!&lt;/P&gt;</description>
      <pubDate>Fri, 29 May 2026 12:03:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/One-CSV-file-to-multiple-output-files-by-column-value/m-p/2550234#M149611</guid>
      <dc:creator>anyxs</dc:creator>
      <dc:date>2026-05-29T12:03:21Z</dc:date>
    </item>
    <item>
      <title>Re: One CSV file to multiple output files by column value – tFlowToIterate creates empty files</title>
      <link>https://community.qlik.com/t5/Talend-Studio/One-CSV-file-to-multiple-output-files-by-column-value/m-p/2550244#M149614</link>
      <description>&lt;P&gt;Hello anyxs,&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for reaching out to the &lt;STRONG&gt;Qlik community&lt;/STRONG&gt;.&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Best approach: use “&lt;/STRONG&gt;&lt;A href="https://help.qlik.com/talend/en-US/components/8.0/mysql/writing-dynamic-columns-from-source-file-to-database" target="_blank"&gt;&lt;STRONG&gt;Dynamic filename&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;” in &lt;/STRONG&gt;&lt;A href="https://help.qlik.com/talend/en-US/components/7.3/delimited/tfileoutputdelimited" target="_blank"&gt;&lt;STRONG&gt;tFileOutputDelimited &lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;— no iterate needed.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Instead of &lt;A href="https://help.qlik.com/talend/en-US/components/7.3/orchestration/tflowtoiterate" target="_blank"&gt;tFlowToIterate&lt;/A&gt;, use &lt;A href="https://help.qlik.com/talend/en-US/components/7.3/delimited/tfileoutputdelimited" target="_blank"&gt;&lt;STRONG&gt;tFileOutputDelimited &lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;with “Use dynamic filename” (or Expression in File Name)&lt;/STRONG&gt; directly in the flow.&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;Steps&lt;/H3&gt;
&lt;OL&gt;
 &lt;LI&gt;&lt;A href="https://help.qlik.com/talend/en-US/components/7.3/delimited/tfileinputdelimited" target="_blank"&gt;&lt;STRONG&gt;tFileInputDelimited&lt;/STRONG&gt; &lt;/A&gt;→ read your CSV&lt;/LI&gt;
 &lt;LI&gt;(Optional) &lt;A href="https://help.qlik.com/talend/en-US/components/8.0/tmap" target="_blank"&gt;&lt;STRONG&gt;tMap&lt;/STRONG&gt; &lt;/A&gt;→ remove id_soc&lt;/LI&gt;
 &lt;LI&gt;&lt;A href="https://help.qlik.com/talend/en-US/components/7.3/delimited/tfileoutputdelimited" target="_blank"&gt;&lt;STRONG&gt;tFileOutputDelimited&lt;/STRONG&gt;&lt;/A&gt;
  &lt;UL&gt;
   &lt;LI&gt;✔ Check &lt;STRONG&gt;“Append” = true&lt;/STRONG&gt;&lt;/LI&gt;
   &lt;LI&gt;✔ Use &lt;STRONG&gt;“File name/Stream (expression)”&lt;/STRONG&gt;&lt;/LI&gt;
   &lt;LI&gt;Set: "output/fichier_" + row1.code_soc + ".csv"&lt;/LI&gt;
  &lt;/UL&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL&gt;
 &lt;LI&gt;✔ Check &lt;STRONG&gt;“Include Header”&lt;/STRONG&gt;&lt;/LI&gt;
 &lt;LI&gt;✔ Enable &lt;STRONG&gt;“Write header only once”&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This will automatically:&lt;/P&gt;
&lt;UL&gt;
 &lt;LI&gt;create one file per code_soc&lt;/LI&gt;
 &lt;LI&gt;group rows correctly&lt;/LI&gt;
 &lt;LI&gt;avoid empty files&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;tFlowToIterate is not meant for row-by-row file writing — it passes values via globalMap, and you lose row streaming → leads to empty outputs, and that is the reason why your method failed.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 29 May 2026 12:26:10 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/One-CSV-file-to-multiple-output-files-by-column-value/m-p/2550244#M149614</guid>
      <dc:creator>Rahul_Kale</dc:creator>
      <dc:date>2026-05-29T12:26:10Z</dc:date>
    </item>
    <item>
      <title>Re: One CSV file to multiple output files by column value – tFlowToIterate creates empty files</title>
      <link>https://community.qlik.com/t5/Talend-Studio/One-CSV-file-to-multiple-output-files-by-column-value/m-p/2550249#M149615</link>
      <description>&lt;P&gt;Hi Rahul,&lt;/P&gt;
&lt;P&gt;Thank you for your answer,&lt;/P&gt;
&lt;P&gt;So I tried :&lt;BR /&gt;- Left "Use output stream" UNCHECKED&lt;BR /&gt;- In the standard "File name" field, typed the String path: "C:/export/fichier_" + out1.code_soc + ".csv"&lt;BR /&gt;- Checked "Append"&lt;BR /&gt;- Checked "Include header"&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;But this does not work either — I get a fichier_null.csv in the right path with all the data from the source csv&lt;/P&gt;
&lt;P&gt;My current flow is:&lt;BR /&gt;tFileInputDelimited → tMap (remove id_soc) → tFileOutputDelimited&lt;/P&gt;
&lt;P&gt;Is there a specific update for the tFileOutputDelimited or another solution ?&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Fri, 29 May 2026 13:03:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/One-CSV-file-to-multiple-output-files-by-column-value/m-p/2550249#M149615</guid>
      <dc:creator>anyxs</dc:creator>
      <dc:date>2026-05-29T13:03:21Z</dc:date>
    </item>
    <item>
      <title>Re: One CSV file to multiple output files by column value – tFlowToIterate creates empty files</title>
      <link>https://community.qlik.com/t5/Talend-Studio/One-CSV-file-to-multiple-output-files-by-column-value/m-p/2550254#M149616</link>
      <description>&lt;P&gt;This &lt;A href="https://community.qlik.com/t5/Talend-Studio/Split-to-multiple-files-based-on-field/m-p/2341303#M109273" target="_blank"&gt;solution &lt;/A&gt;&amp;nbsp; worked for me !&amp;nbsp;&lt;BR /&gt;Thanks&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 29 May 2026 13:39:36 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/One-CSV-file-to-multiple-output-files-by-column-value/m-p/2550254#M149616</guid>
      <dc:creator>anyxs</dc:creator>
      <dc:date>2026-05-29T13:39:36Z</dc:date>
    </item>
    <item>
      <title>Re: One CSV file to multiple output files by column value – tFlowToIterate creates empty files</title>
      <link>https://community.qlik.com/t5/Talend-Studio/One-CSV-file-to-multiple-output-files-by-column-value/m-p/2550271#M149617</link>
      <description>&lt;P&gt;Hello anyxs,&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You have marked the wrong comment as an accepted solution; the information that worked for you, you will need to mark as an accepted solution.&lt;/P&gt;</description>
      <pubDate>Fri, 29 May 2026 17:12:51 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/One-CSV-file-to-multiple-output-files-by-column-value/m-p/2550271#M149617</guid>
      <dc:creator>Rahul_Kale</dc:creator>
      <dc:date>2026-05-29T17:12:51Z</dc:date>
    </item>
  </channel>
</rss>

