Ruby Academy · Oppitunti

CSV:n käsittely

csv-kirjasto.

Oppitunti 2/413 vaihetta

CSV:n käsittely on ilmainen Ruby Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Ruby Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Ruby Academy-kurssilla on yhteensä 4 oppituntia.

Mikä on CSV

CSV (Comma-Separated Values) tallentaa taulukkomuotoiset tiedot pelkkänä tekstinä: yksi rivi kullakin rivillä ja kentät pilkuilla eroteltuina. Rubyn standardikirjasto csv lukee ja kirjoittaa CSV-tiedostoja.

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

CSV-merkkijonon jäsentäminen

CSV.parse muuntaa monirivisen CSV-merkkijonon rivitaulukoiden taulukoksi.

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

Otsikoiden käyttäminen

Välittäkää headers: true, jotta ensimmäisestä rivistä tulee kenttien nimet ja jokaista riviä voi käsitellä hashina.

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

Rivien läpikäynti

Voitte käydä jäsennetyt rivit läpi kuten minkä tahansa taulukon ja käsitellä kenttiä indeksin avulla.

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

Tyyppien muuntaminen

Käyttäkää asetusta converters: :numeric, jotta numeeriset kentät muunnetaan automaattisesti Integereiksi tai Floateiksi.

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

CSV:n luominen

CSV.generate muodostaa CSV-merkkijonon. Lisätkää rivejä syöttämällä taulukoita lohkoon.

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

Lainausmerkit ja erikoismerkit

CSV lisää automaattisesti lainausmerkit kenttiin, jotka sisältävät pilkkuja, lainausmerkkejä tai rivinvaihtoja, jotta rakenne säilyy ehjänä.

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

Mukautetut erottimet

Sarkain- tai puolipiste-eroteltuja tiedostoja varten määrittäkää col_sep. Näin voitte käsitellä TSV-tiedostoja ja eurooppalaisia CSV-muunnelmia.

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

Tiedostoon kirjoittaminen

CSV.open tilassa 'w' kirjoittaa rivit suoraan tiedostoon.

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

Tiedostosta lukeminen

CSV.read lataa koko tiedoston rivien taulukoksi ja hyväksyy samat asetukset kuin 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'])

Sarakkeen summan laskeminen

Yleinen tehtävä on lukea sarake ja laskea sen koontiarvo. Yhdistäkää otsikot, numeerinen muunnos ja map.

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

Pikatarkistus

Millä asetuksella CSV-kenttiä voi käyttää sarakkeen nimen avulla, esimerkiksi row['age']?

Kertaus: CSV-tiedostojen käsittely

Osaatte käsitellä taulukkomuotoisia tietoja:

  • CSV.parse / CSV.read lukemiseen
  • headers: true nimettyjä kenttiä varten
  • converters: :numeric tyypitettyjä arvoja varten
  • CSV.generate / CSV.open kirjoittamiseen
  • col_sep TSV-tiedostoja ja muita erottimia varten
require 'csv'
p CSV.parse_line('a,b,c')
Aloita maksutta

Opi Ruby tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
29
Oppitunnit
109

Usein kysytyt kysymykset

Onko oppitunti ”CSV:n käsittely” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Ruby Academy-oppimispolun 3 oppituntia, myös oppitunnin “CSV:n käsittely”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Ruby Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”CSV:n käsittely”?

csv-kirjasto. Harjoittelet Ruby Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Ruby Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Ruby Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”CSV:n käsittely”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Ruby Academy-oppitunnilla?

Kyllä. Jokainen Ruby Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. JSONin lukeminen ja kirjoittaminen
  2. CSV:n käsittely
  3. YAML-määritys
  4. Muodon valinta
← Takaisin: Ruby Academy