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]
-~----------~----~----~----~------~----~------~--~---

Répondre à