0Pricing
Ruby Academy · Lezione

Lavorare con CSV

La libreria csv

Lavorare con CSV è una lezione Ruby Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ruby Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ruby Academy include 4 lezioni in totale.

Che cos'è CSV?

CSV (Comma-Separated Values) memorizza dati tabellari come testo semplice, con una riga per linea e i campi separati da virgole. La libreria standard Ruby csv consente di leggerli e scriverli.

require 'csv'
row = CSV.parse_line('Alice,30,Engineer')
p row

Analizzare una stringa CSV

CSV.parse trasforma una stringa CSV su più righe in un array di array di righe.

require 'csv'
data = "name,age\nAlice,30\nBob,25"
rows = CSV.parse(data)
p rows

Usare le intestazioni

Passi headers: true affinché la prima riga diventi l'insieme dei nomi dei campi e ogni riga si comporti come un hash.

require 'csv'
data = "name,age\nAlice,30"
CSV.parse(data, headers: true).each do |row|
  puts(row['name'])
  puts(row['age'])
end

Scorrere le righe

È possibile scorrere le righe analizzate come un normale array, accedendo ai campi tramite l'indice.

require 'csv'
rows = CSV.parse("1,a\n2,b\n3,c")
rows.each { |r| puts "#{r[0]} -> #{r[1]}" }

Convertire i tipi

Utilizzi converters: :numeric per convertire automaticamente i campi numerici in Integers o Floats.

require 'csv'
rows = CSV.parse("10,20\n30,40", converters: :numeric)
puts(rows[0][0] + rows[1][1])

Generare CSV

CSV.generate crea una stringa CSV. Inserisca gli array nel blocco per aggiungere righe.

require 'csv'
out = CSV.generate do |csv|
  csv << ['name', 'age']
  csv << ['Alice', 30]
end
puts out

Virgolette e caratteri speciali

CSV racchiude automaticamente tra virgolette i campi che contengono virgole, virgolette o nuove righe, così la struttura rimane intatta.

require 'csv'
out = CSV.generate do |csv|
  csv << ['note', 'Hello, world']
end
puts out

Separatori personalizzati

Per i file separati da tabulazioni o punti e virgola, imposti col_sep. In questo modo è possibile gestire TSV e varianti europee del CSV.

require 'csv'
rows = CSV.parse("a;b;c", col_sep: ';')
p rows

Scrivere in un file

CSV.open con la modalità 'w' invia le righe direttamente a un file.

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))

Leggere da un file

CSV.read carica un file intero in un array di righe e accetta le stesse opzioni di 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'])

Sommare una colonna

Un'attività comune consiste nel leggere una colonna e aggregarla. Combini intestazioni, conversione numerica e map.

require 'csv'
data = "item,price\npen,3\nbook,12"
total = CSV.parse(data, headers: true, converters: :numeric).sum { |r| r['price'] }
puts(total)

Verifica rapida

Quale opzione consente di accedere ai campi CSV tramite il nome della colonna, come row['age']?

Riepilogo: lavorare con CSV

È possibile gestire dati tabellari:

  • CSV.parse / CSV.read per leggere
  • headers: true per i campi denominati
  • converters: :numeric per valori tipizzati
  • CSV.generate / CSV.open per scrivere
  • col_sep per TSV e altri delimitatori
require 'csv'
p CSV.parse_line('a,b,c')

Domande Frequenti

La lezione «Lavorare con CSV» è gratuita?

Sì — il testo completo di «Lavorare con CSV» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ruby Academy, passa a CoddyKit PRO. Il corso Ruby Academy include 4 lezioni in totale.

Cosa imparerò in «Lavorare con CSV»?

La libreria csv Eserciti Ruby Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Ruby Academy?

Non è richiesta alcuna esperienza precedente. Ruby Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Lavorare con CSV»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Ruby Academy?

Sì. Ogni lezione Ruby Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Leggere e scrivere JSON
  2. Lavorare con CSV
  3. Configurazione YAML
  4. Scegliere un formato
← Torna a Ruby Academy