Bonjour Joïc,
J'ai eu le même problème avec un CSV où il manquait même des colonnes !
Loïc Guitaut wrote:
> Le mardi 13 octobre 2009 16:04:20, Fabien Jakimowicz a écrit :
>> > Forcément quand je mets ça dans fastercsv ou équivalent, ça
>> explose. J'ai
>> séparateur) voir même des sauts de ligne. Il convient alors d'isoler
>> la cellule entre guillemets.
C'est une solutions.
>
> Pour info, avec ça, ça marche :
> /,(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))/
>
> Et voilà !
Je suis resté classique. La partie qui m'interesse est un
tableau de nombre.
La réponse est tardive, mais je n'ai fais ça que récemment.
=======================================================
requier 'csv'
NAME = "fichier_a_traiter.txt"
# Ouverture du fichier CVS avec ';' pour séparateur.
reader = CSV.open(NAME,'r',';')
# Il faut sauter les 12 premières lignes qui sont du commentaire.
header = reader
12.times do
header=reader.shift
end
puts "\nDerniere ligne du Header pour controle :\n"
p header
# Création des tableau à partir du fichier et conversion du
# séparateur décimal : ',' -> '.'.
puts "\n\nTraitement du fichier de donnees : '#{NAME}'.\n"
tab_a = []
tab_b = []
tab_c = []
ascon = []
# Lecture du fichier et traitement de chaque ligne.
reader.each do |row|
tab_a << row[3].tr(',','.').to_f
tab_b << row[5].tr(',','.').to_f
tab_c << 1000.0*row[4].tr(',','.').to_f
end
reader.close
=======================================================
Randy.
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse
[email protected]
-~----------~----~----~----~------~----~------~--~---