Utiliser CSV
La bibliothèque csv
Utiliser CSV est une leçon Ruby Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ruby Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ruby Academy comprend 4 leçons au total.
Qu'est-ce que CSV ?
CSV (valeurs séparées par des virgules) stocke des données tabulaires sous forme de texte brut, avec une ligne par enregistrement et des champs séparés par des virgules. La bibliothèque Ruby standard csv permet de le lire et de l'écrire.
require 'csv'
row = CSV.parse_line('Alice,30,Engineer')
p rowAnalyser une chaîne CSV
CSV.parse transforme une chaîne CSV comportant plusieurs lignes en un tableau de tableaux de lignes.
require 'csv'
data = "name,age\nAlice,30\nBob,25"
rows = CSV.parse(data)
p rowsUtiliser des en-têtes
Transmettez headers: true pour que la première ligne devienne le nom des champs et que chaque ligne se comporte comme un hachage.
require 'csv'
data = "name,age\nAlice,30"
CSV.parse(data, headers: true).each do |row|
puts(row['name'])
puts(row['age'])
endParcourir les lignes
Vous pouvez parcourir les lignes analysées comme n'importe quel tableau et accéder aux champs par leur indice.
require 'csv'
rows = CSV.parse("1,a\n2,b\n3,c")
rows.each { |r| puts "#{r[0]} -> #{r[1]}" }Convertir les types
Utilisez converters: :numeric pour transformer automatiquement les champs numériques en entiers ou en nombres à virgule flottante.
require 'csv'
rows = CSV.parse("10,20\n30,40", converters: :numeric)
puts(rows[0][0] + rows[1][1])Générer du CSV
CSV.generate construit une chaîne CSV. Ajoutez des tableaux dans le bloc pour ajouter des lignes.
require 'csv'
out = CSV.generate do |csv|
csv << ['name', 'age']
csv << ['Alice', 30]
end
puts outGuillemets et caractères spéciaux
CSV entoure automatiquement de guillemets les champs qui contiennent des virgules, des guillemets ou des retours à la ligne, afin de préserver la structure.
require 'csv'
out = CSV.generate do |csv|
csv << ['note', 'Hello, world']
end
puts outSéparateurs personnalisés
Pour les fichiers séparés par des tabulations ou des points-virgules, définissez col_sep. Cela prend en charge TSV et les variantes européennes du CSV.
require 'csv'
rows = CSV.parse("a;b;c", col_sep: ';')
p rowsÉcrire dans un fichier
CSV.open avec le mode 'w' écrit directement les lignes dans un fichier.
require 'csv'
require 'tmpdir'
path = File.join(Dir.tmpdir, 'people.csv')
CSV.open(path, 'w') do |csv|
csv << ['name', 'age']
csv << ['Carol', 28]
end
puts(File.read(path))Lire depuis un fichier
CSV.read charge un fichier entier dans un tableau de lignes et accepte les mêmes options que parse.
require 'csv'
require 'tmpdir'
path = File.join(Dir.tmpdir, 'nums.csv')
File.write(path, "x,y\n1,2\n3,4")
rows = CSV.read(path, headers: true)
puts(rows.first['y'])Additionner une colonne
Une tâche courante consiste à lire une colonne et à l'agréger. Combinez les en-têtes, la conversion numérique et la mise en correspondance.
require 'csv'
data = "item,price\npen,3\nbook,12"
total = CSV.parse(data, headers: true, converters: :numeric).sum { |r| r['price'] }
puts(total)Vérification rapide
Quelle option permet d'accéder aux champs CSV par nom de colonne, comme dans row['age'] ?
Récapitulatif : travailler avec CSV
Vous pouvez gérer des données tabulaires :
CSV.parse/CSV.readpour lireheaders: truepour nommer les champsconverters: :numericpour obtenir des valeurs typéesCSV.generate/CSV.openpour écrirecol_seppour TSV et les autres délimiteurs
require 'csv'
p CSV.parse_line('a,b,c')Questions Fréquemment Posées
La leçon « Utiliser CSV » est-elle gratuite ?
Oui — le texte complet de « Utiliser CSV » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ruby Academy, passe à CoddyKit PRO. Le cours Ruby Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Utiliser CSV » ?
La bibliothèque csv Tu pratiques Ruby Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Ruby Academy ?
Aucune expérience préalable n'est requise. Ruby Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Utiliser CSV » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Ruby Academy ?
Oui. Chaque leçon Ruby Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.