Ruby:
Työskentely CSV:n kanssa
Kuinka:
Ruby sisältää oletuksena CSV-kirjaston, joka yksinkertaistaa lukemista ja kirjoittamista CSV-tiedostoihin. Tässä on, miten voit hyödyntää tätä yleisiin tehtäviin:
CSV-tiedoston lukeminen
CSV-tiedoston lukemiseksi sinun täytyy ensin vaatia CSV-kirjasto. Sen jälkeen voit iteroida rivejä tai lukea ne taulukkoon.
require 'csv'
# Lukee jokaisen rivin taulukkona
CSV.foreach("data.csv") do |row|
puts row.inspect
end
# Kunkin rivin tuloste voisi näyttää tältä: ["data1", "data2", "data3"]
Kirjoittaminen CSV-tiedostoon
CSV-tiedostoon kirjoittaminen on myös suoraviivaista. Voit liittää olemassa olevaan tiedostoon tai luoda uuden tiedoston kirjoittamista varten.
require 'csv'
CSV.open("output.csv", "wb") do |csv|
csv << ["otsikko1", "otsikko2", "otsikko3"]
csv << ["arvo1", "arvo2", "arvo3"]
end
# Tämä luo tai ylikirjoittaa 'output.csv':n määritetyillä otsikoilla ja arvoilla.
CSV-merkkijonon jäsentäminen
Joskus sinun tarvitsee jäsentää CSV-data suoraan merkkijonosta. Tässä on miten:
require 'csv'
data = "nimi,ikä,kaupunki\nJohn Doe,29,New York\nJane Doe,31,Chicago"
csv = CSV.parse(data, headers: true)
csv.each do |row|
puts "#{row['nimi']} - #{row['ikä']} - #{row['kaupunki']}"
end
# Odotettu tuloste:
# John Doe - 29 - New York
# Jane Doe - 31 - Chicago
SmarterCSV:n käyttö
Monimutkaisemmissa CSV-tehtävissä SmarterCSV
-gemmi voi olla arvokas työkalu. Asenna gemmi ensin:
gem install smarter_csv
Sitten voit käyttää sitä käsitellä isoja tiedostoja tai suorittaa kehittyneempiä jäsentämisen ja manipuloinnin tehtäviä:
require 'smarter_csv'
options = {}
data = SmarterCSV.process('large_data.csv', options)
data.each do |hash|
puts hash.inspect
end
# Tämä lukee 'large_data.csv':n ja tulostaa jokaisen rivin hashtaulukkona otsikoiden perusteella.
Yhteenvetona, Rubyn sisäänrakennettu CSV-kirjasto yhdessä kolmannen osapuolen gemmien kuten SmarterCSV
kanssa tarjoaa vahvan tuen CSV-datan käsittelyyn, mahdollistaen tehokkaat datankäsittely- ja manipulointitehtävät.