title: Kettle - Read CSV with comma as decimal mark
body: <p>I have a transformation on Pentaho Data Integration (aka Kettle) where the first thing I do is I use the "CSV Input" to map my flat file.</p>
  
  <p>I've never had a problem with this step on windows, but now I'm chaning the server where spoon is going to run to a linux server and now I'm having problems with parsing (convert String to Integer).</p>
  
  <p>What the transformation does, in short, is this:</p>
  
  <p><strong>CSV Input:</strong> Used to map all the fields from my CSV. I use the ISO-8859-1 encoding.</p>
  
  <p><strong>Filter rows:</strong> Used to get some specific rows.</p>
  
  <p><strong>Script Values/Mod:</strong> Used to changed some values on some fields.</p>
  
  <hr>
  
  <p>Now, the step that causes the problem:</p>
  
  <p><strong>Select / Rename Values:</strong> Used to rename the headers to my table columns so I can insert the data on my table. What does it have on each tab?</p>
  
  <p>Select &amp; Alter (tab) *null fields omited</p>
  
  <p><p><kbd>Fieldname&nbsp;</kbd><kbd>Rename to&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</kbd><br>
  <kbd>Código&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</kbd><kbd>codigo_cliente&nbsp;</kbd><br></p>
  
  <p>Meta-data (tab) *null fields omited</p>
  
  <p><p><kbd>Fieldname&nbsp;</kbd><kbd>Rename to&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</kbd><kbd>Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</kbd><kbd>Binary to Normal&nbsp;</kbd><kbd>Data Format Lenient?&nbsp;</kbd><kbd>Lenient number conversion?&nbsp;</kbd><br>
  <kbd>Código&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</kbd><kbd>codigo_cliente&nbsp;</kbd><kbd>Integer&nbsp;&nbsp;&nbsp;</kbd><kbd>N&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</kbd><kbd>N&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</kbd><kbd>N&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</kbd><br></p>
  
  <hr>
  
  <p>The error I get is:</p>
  
  <pre><code>2015/06/03 09:49:10 - Select values.0 - ERROR (version 5.3.0.0-213, build 1 from 2015-02-02_12-17-08 by buildguy) : Unexpected error
  2015/06/03 09:49:10 - Select values.0 - ERROR (version 5.3.0.0-213, build 1 from 2015-02-02_12-17-08 by buildguy) : org.pentaho.di.core.exception.KettleValueException: 
  2015/06/03 09:49:10 - Select values.0 - Unexpected conversion error while converting value [codigo_cliente String&lt;binary-string&gt;] to an Integer
  2015/06/03 09:49:10 - Select values.0 - 
  2015/06/03 09:49:10 - Select values.0 - codigo_cliente String&lt;binary-string&gt; : couldn't convert String to Integer
  2015/06/03 09:49:10 - Select values.0 - 
  2015/06/03 09:49:10 - Select values.0 - codigo_cliente String&lt;binary-string&gt; : couldn't convert String to number : non-numeric character found at position 7 for value [21.237,00]
  2015/06/03 09:49:10 - Select values.0 - 
  2015/06/03 09:49:10 - Select values.0 - 
  2015/06/03 09:49:10 - Select values.0 - 
  2015/06/03 09:49:10 - Select values.0 -     at org.pentaho.di.core.row.value.ValueMetaBase.getInteger(ValueMetaBase.java:1780)
  2015/06/03 09:49:10 - Select values.0 -     at org.pentaho.di.core.row.value.ValueMetaBase.convertData(ValueMetaBase.java:3537)
  2015/06/03 09:49:10 - Select values.0 -     at org.pentaho.di.trans.steps.selectvalues.SelectValues.metadataValues(SelectValues.java:326)
  2015/06/03 09:49:10 - Select values.0 -     at org.pentaho.di.trans.steps.selectvalues.SelectValues.processRow(SelectValues.java:375)
  2015/06/03 09:49:10 - Select values.0 -     at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
  2015/06/03 09:49:10 - Select values.0 -     at java.lang.Thread.run(Thread.java:744)
  2015/06/03 09:49:10 - Select values.0 - Caused by: org.pentaho.di.core.exception.KettleValueException: 
  2015/06/03 09:49:10 - Select values.0 - codigo_cliente String&lt;binary-string&gt; : couldn't convert String to Integer
  2015/06/03 09:49:10 - Select values.0 - 
  2015/06/03 09:49:10 - Select values.0 - codigo_cliente String&lt;binary-string&gt; : couldn't convert String to number : non-numeric character found at position 7 for value [21.237,00]
  2015/06/03 09:49:10 - Select values.0 - 
  2015/06/03 09:49:10 - Select values.0 - 
  2015/06/03 09:49:10 - Select values.0 -     at org.pentaho.di.core.row.value.ValueMetaBase.convertStringToInteger(ValueMetaBase.java:1036)
  2015/06/03 09:49:10 - Select values.0 -     at org.pentaho.di.core.row.value.ValueMetaBase.getInteger(ValueMetaBase.java:1720)
  2015/06/03 09:49:10 - Select values.0 -     ... 5 more
  2015/06/03 09:49:10 - Select values.0 - Caused by: org.pentaho.di.core.exception.KettleValueException: 
  2015/06/03 09:49:10 - Select values.0 - codigo_cliente String&lt;binary-string&gt; : couldn't convert String to number : non-numeric character found at position 7 for value [21.237,00]
  2015/06/03 09:49:10 - Select values.0 - 
  2015/06/03 09:49:10 - Select values.0 -     at org.pentaho.di.core.row.value.ValueMetaBase.convertStringToInteger(ValueMetaBase.java:1028)
  2015/06/03 09:49:10 - Select values.0 -     ... 6 more
  </code></pre>
  
  <p>The problem happens because, on this field, I use comma as my decimal mark on my CSV file.</p>
  
  <p>This is how my CSV file looks like:</p>
  
  <p>My CSV file's header:</p>
  
  <pre><code>Ano;Mês;Diretoria;Tipo;Tipo de macrorubrica;Macrorubrica;Conta contábil;Código;Cliente;OS;Descrição;Fornecedor;Documento;Tipo documento;Nota;Atividade;Tipo atividade;Descrição;UA;Valor;Orçado
  </code></pre>
  
  <p>one of it's rows:</p>
  
  <pre><code>2015;4;CERT;Custo Apropriado;CUSTO SERVIÇO PRESTADO;PESSOAL;14520 .201;87.979,00;SOF HAR;00077864;SQ 36525;FUNDACAO ABCD;1383;FP;;1048;.;.;2030;1.076,35;,00
  </code></pre>
  
  <p>if it would be easier to see, the value of my column named "Código" (which will later become "codigo_cliente" on the Select Values step) in this row is <strong>87.979,00</strong></p>
  
  <p>What would be the best way to solve this problem without changing my CSV file?</p>