0Pricing
Ruby Academy · Leçon

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 row

Analyser 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 rows

Utiliser 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'])
end

Parcourir 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 out

Guillemets 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 out

Sé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.read pour lire
  • headers: true pour nommer les champs
  • converters: :numeric pour obtenir des valeurs typées
  • CSV.generate / CSV.open pour écrire
  • col_sep pour 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.

Toutes les leçons de ce cours

  1. Lire et écrire du JSON
  2. Utiliser CSV
  3. Configuration YAML
  4. Choisir un format
← Retour à Ruby Academy