Rails Insights

Parsiwn Ffeiliau CSV yn Ruby

Mae ffeiliau CSV (Comma-Separated Values) yn un o'r fformatau mwyaf poblogaidd ar gyfer storio a throsglwyddo data. Mae'n hawdd eu darllen gan bobl ac yn hawdd eu prosesu gan gyfrifiaduron. Yn yr erthygl hon, byddwn yn archwilio sut i barhau ffeiliau CSV yn Ruby, gan ddefnyddio rhai o'r dulliau a'r llyfrgelloedd sydd ar gael i ni. Byddwn yn edrych ar sut i ddarllen, ysgrifennu, a phrosesu data o ffeiliau CSV, gan gadw'r ton yn gyfeillgar ac yn wybodaeth.

Beth yw Ffeiliau CSV?

Mae ffeiliau CSV yn ffeiliau testun sy'n cynnwys data wedi'i strwythuro, gyda phob rhes yn cynrychioli cofrestr a phob colofn yn cynrychioli maes. Mae'r data yn cael ei wahanu gan gomau, er y gallai fod yn wahanyddion eraill fel tabiau neu fynedfaau. Mae ffeiliau CSV yn boblogaidd oherwydd eu symlrwydd a'u gallu i gael eu defnyddio gan nifer o raglenni, gan gynnwys Excel, Google Sheets, a llawer o raglenni dadansoddeg data.

Darllen Ffeiliau CSV yn Ruby

Mae Ruby yn cynnig dulliau syml i ddarllen ffeiliau CSV. Mae'r llyfrgell 'CSV' yn rhan o'r fframwaith Ruby, sy'n ei gwneud hi'n hawdd i weithio gyda ffeiliau CSV. Gadewch i ni edrych ar sut i ddarllen ffeil CSV yn Ruby.

Cam 1: Mewngofnodi'r Llyfrgell CSV

Y cam cyntaf yw mewngofnodi'r llyfrgell CSV. Gallwch wneud hyn trwy ddefnyddio'r llinell ganlynol:

require 'csv'

Cam 2: Darllen y Ffeil CSV

Ar ôl mewngofnodi'r llyfrgell, gallwch ddechrau darllen y ffeil CSV. Dyma enghraifft o sut i wneud hynny:

CSV.foreach("data.csv", headers: true) do |row|
  puts row["Enw"]
  puts row["Oedran"]
end

Yn yr enghraifft hon, rydym yn defnyddio'r dull 'foreach' i fynd trwy bob rhes yn y ffeil. Mae'r 'headers: true' yn sicrhau ein bod yn defnyddio'r penawdau fel allweddi i'r data.

Ysgrifennu Ffeiliau CSV yn Ruby

Mae'n hawdd hefyd ysgrifennu data i ffeil CSV yn Ruby. Mae'r dull 'CSV.open' yn caniatáu i ni greu neu ddiweddaru ffeil CSV. Dyma sut i wneud hynny:

Cam 1: Agor y Ffeil CSV

Gallwch agor ffeil CSV ar gyfer ysgrifennu fel hyn:

CSV.open("new_data.csv", "wb") do |csv|
  csv << ["Enw", "Oedran"]
  csv << ["John", 30]
  csv << ["Jane", 25]
end

Yn yr enghraifft hon, rydym yn creu ffeil newydd o'r enw "new_data.csv" a'i llenwi gyda data. Mae'r "wb" yn golygu "write binary", sy'n sicrhau ein bod yn ysgrifennu'r data yn gywir.

Prosesu Data o Ffeiliau CSV

Unwaith y byddwch wedi darllen a ysgrifennu ffeiliau CSV, efallai y byddwch am brosesu'r data. Gall Ruby wneud hyn yn hawdd. Dyma rai enghreifftiau o brosesu data o ffeiliau CSV.

Enw a Oedran

Dyma enghraifft o sut i ddangos enwau a phob oedran o ffeil CSV:

CSV.foreach("data.csv", headers: true) do |row|
  if row["Oedran"].to_i > 18
    puts "#{row["Enw"]} yw oedolyn."
  else
    puts "#{row["Enw"]} yw plentyn."
  end
end

Yn yr enghraifft hon, rydym yn gwirio a yw'r oedran yn fwy na 18, ac yn rhoi gwybodaeth am a yw'r person yn oedolyn neu'n blentyn.

Cyfrif y Nifer o Enwau

Gallwch hefyd gyfrif nifer yr enwau yn y ffeil CSV:

count = 0
CSV.foreach("data.csv", headers: true) do |row|
  count += 1
end
puts "Mae #{count} o enwau yn y ffeil." 

Mae'r enghraifft hon yn cyfrif y nifer o enwau yn y ffeil a'i ddangos i'r defnyddiwr.

Defnyddio Gemau i Ddeall CSV

Mae nifer o gemau Ruby ar gael sy'n gwneud gweithio gyda ffeiliau CSV yn haws. Mae rhai o'r gemau poblogaidd yn cynnwys:

  • FasterCSV - Mae hwn yn llyfrgell sy'n cynnig perfformiad gwell na'r llyfrgell CSV safonol.
  • CSVBuilder - Mae hwn yn caniatáu i chi greu ffeiliau CSV yn hawdd gyda strwythur penodol.
  • SmarterCSV - Mae hwn yn cynnig dulliau i brosesu ffeiliau CSV yn gyflymach a mwy effeithlon.

Gallwch osod y gemau hyn trwy ddefnyddio bundler neu trwy'r gorchymyn 'gem install'.

Casgliad

Mae parsiwn ffeiliau CSV yn Ruby yn broses syml a chymhwysol. Gyda'r llyfrgell CSV, gallwch ddarllen, ysgrifennu, a phrosesu data yn hawdd. Mae'r dulliau a'r gemau a drafodwyd yn yr erthygl hon yn cynnig ffordd gyfeillgar i ddechreuwyr a phrofiad i weithio gyda ffeiliau CSV. Mae'n bwysig cofio bod ffeiliau CSV yn offeryn pwerus ar gyfer rheoli data, a gall Ruby eich helpu i wneud hynny'n hawdd.

Felly, peidiwch ag oedi! Dechreuwch archwilio ffeiliau CSV yn Ruby heddiw a gweld pa mor hawdd yw hi i ddelio â data.

Published: August 12, 2024

© 2024 RailsInsights. All rights reserved.