Por padrão todos os dados de um CSV são adicionados como uma tabela utilizando o driver OGR que não trata as colunas por tipos diferentes, sendo todas abertas como do tipo String. A solução é criar um arquivo.csvt contendo apenas o tipo de cada coluna, por exemplo:
Para o arquivo de entrada apresentado abaixo, cujo nome é focos_mensal2010.csv
geocod,jan,fev,mar,abr,mai,jun,jul,ago,set,out,nov,dez,anual
2200202,0,0,0,0,0,0,0,0,1,3,0,0,4
3128006,0,0,0,0,0,0,0,0,5,1,0,0,6
4209805,0,0,0,0,0,0,0,0,1,0,1,0,2
4322152,0,0,0,0,0,0,0,1,5,0,0,0,6
1504208,0,0,0,0,2,0,49,385,445,75,27,0,983
tive que criar o arquivo focos_mensal2010.csvt com o seguinte conteúdo:
"String","Integer","Integer","Integer","Integer","Integer","Integer","Integer","Integer","Integer","Integer","Integer","Integer","Integer"
Caso seja necessário é possível especificar o tamanho dos campos desta forma
"Integer(6)","Real(5.5)","String(22)"
ref:http://underdark.wordpress.com/2011/03/07/how-to-specify-data-types-of-csv-columns-for-use-in-qgis/