Mae parsi data yn broses hanfodol yn y byd datblygu meddalwedd, yn enwedig pan fyddwn yn delio â data a dderbynnir o ffynonellau allanol fel APIau, ffeiliau, neu ddata a gynhelir yn y we. Mae Ruby, gyda'i symlrwydd a'i ddulliau grymus, yn cynnig dulliau effeithiol ar gyfer parsi data. Yn yr erthygl hon, byddwn yn archwilio sut i ddefnyddio Ruby i ddadansoddi a pharsi data, gan gynnwys enghreifftiau cod a chamau i ddilyn.
Mae parsi data yn golygu cymryd data o ffurf benodol a'i drosi i mewn i strwythur y gallwn ei ddeall a'i ddefnyddio. Gall hyn gynnwys:
Mae Ruby yn cynnig nifer o gemau a dulliau i wneud y broses hon yn haws. Gadewch i ni edrych ar rai o'r dulliau hyn.
Mae ffeiliau CSV (Comma-Separated Values) yn un o'r ffurfiau mwyaf cyffredin ar gyfer storio data. Mae Ruby yn cynnig gemau fel 'CSV' sy'n gwneud parsi data o ffeiliau CSV yn syml. Dyma enghraifft o sut i ddarllen ffeil CSV:
require 'csv' CSV.foreach('data.csv', headers: true) do |row| puts row['Enw'] # Disgleirio'r enw o'r ffeil end
Yn yr enghraifft hon, rydym yn defnyddio'r dull 'foreach' i fynd drwodd i bob rhes yn y ffeil CSV. Mae 'headers: true' yn sicrhau ein bod yn defnyddio'r penawdau fel allweddi i'r data.
Gallwn hefyd greu ffeil CSV yn hawdd. Dyma sut:
require 'csv' CSV.open('new_data.csv', 'w') do |csv| csv << ['Enw', 'Oed', 'Dinas'] csv << ['Tom', 30, 'Caerdydd'] csv << ['Sara', 25, 'Aberystwyth'] end
Mae'r cod hwn yn creu ffeil newydd o'r enw 'new_data.csv' a'i llenwi gyda data. Mae'n hawdd ychwanegu mwy o ddata trwy ychwanegu mwy o linellau.
Mae parsi data o HTML yn gallu bod yn heriol, ond mae Ruby yn cynnig gemau fel 'Nokogiri' sy'n gwneud y broses hon yn haws. Mae Nokogiri yn gallu dadansoddi HTML a XML, gan ganiatáu i ni ddod o hyd i ddata penodol yn hawdd.
Dyma enghraifft o sut i ddefnyddio Nokogiri i ddadansoddi HTML:
require 'nokogiri' require 'open-uri' url = 'https://www.example.com' doc = Nokogiri::HTML(URI.open(url)) doc.css('h1').each do |header| puts header.text end
Yn yr enghraifft hon, rydym yn defnyddio 'open-uri' i agor URL a'i ddadansoddi gyda Nokogiri. Mae 'css' yn caniatáu i ni ddod o hyd i'r holl benawdau h1 yn y ddogfen HTML.
Mae JSON (JavaScript Object Notation) yn ffurf arall boblogaidd ar gyfer storio data, yn enwedig wrth dderbyn data o APIau. Mae Ruby yn cynnwys cymorth ar gyfer JSON trwy'r gem 'json'. Dyma sut i barsi data o JSON:
require 'json' require 'open-uri' url = 'https://api.example.com/data' data = JSON.parse(URI.open(url).read) data.each do |item| puts item['name'] end
Yn yr enghraifft hon, rydym yn defnyddio 'open-uri' i ddarllen data o API a'i ddadansoddi gyda 'JSON.parse'. Mae hyn yn caniatáu i ni fynd drwodd i'r data a'i ddefnyddio yn ein rhaglen.
Gallwn gyfuno'r dulliau hyn i greu rhaglen sy'n dadansoddi data o sawl ffynhonnell. Er enghraifft, gallwn ddarllen data o ffeil CSV, ei gyfuno â data o API, a'i arddangos yn HTML. Dyma enghraifft syml:
require 'csv' require 'json' require 'open-uri' # Darllen data o ffeil CSV csv_data = CSV.read('data.csv', headers: true) # Darllen data o API url = 'https://api.example.com/data' api_data = JSON.parse(URI.open(url).read) # Cyfuno'r ddau ddata combined_data = csv_data.map do |row| { name: row['Enw'], age: row['Oed'], api_info: api_data.find { |item| item['name'] == row['Enw'] } } end # Arddangos y data cyfuniad combined_data.each do |data| puts "#{data[:name]} - #{data[:age]} - #{data[:api_info]}" end
Mae'r enghraifft hon yn dangos sut y gallwn gymryd data o sawl ffynhonnell a'i gyfuno i greu darlun mwy cyflawn o'r wybodaeth sydd ar gael.
Mae parsi data yn rhan bwysig o ddatblygu meddalwedd, ac mae Ruby yn cynnig nifer o offer a gemau i wneud y broses hon yn haws. O ddarllen ffeiliau CSV i ddadansoddi HTML a JSON, mae Ruby yn cynnig dulliau grymus a hawdd i'w defnyddio. Gobeithio bod yr erthygl hon wedi rhoi gwybodaeth ddefnyddiol i chi am sut i barsi data gyda Ruby. Peidiwch ag anghofio ymarfer a phrofi'r codau a drafodwyd yma i wella eich sgiliau!
© 2024 RailsInsights. All rights reserved.