0Pricing
Ruby Academy · บทเรียน

การทำงานกับ CSV

ไลบรารี csv

การทำงานกับ CSV เป็นบทเรียน Ruby Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ruby Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ruby Academy มีบทเรียนทั้งหมด 4 บทเรียน

CSV คืออะไร

CSV (ค่าที่คั่นด้วยจุลภาค) ใช้จัดเก็บข้อมูลแบบตารางเป็นข้อความธรรมดา หนึ่งแถวต่อหนึ่งบรรทัด โดยมีฟิลด์คั่นด้วยจุลภาค ไลบรารีมาตรฐาน csv ของรูบีใช้สำหรับอ่านและเขียนข้อมูลนี้

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

การแยกวิเคราะห์สตริง CSV

CSV.parse แปลงสตริง CSV หลายบรรทัดเป็นอาร์เรย์ของอาร์เรย์แถว

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

การใช้ส่วนหัว

ส่ง headers: true เพื่อให้แถวแรกกลายเป็นชื่อฟิลด์ และให้แต่ละแถวทำงานเหมือนแฮช

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

การวนซ้ำแถว

คุณสามารถวนซ้ำแถวที่แยกวิเคราะห์แล้วได้เหมือนอาร์เรย์ทั่วไป โดยเข้าถึงฟิลด์ด้วยดัชนี

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

การแปลงชนิดข้อมูล

ใช้ converters: :numeric เพื่อเปลี่ยนฟิลด์ตัวเลขเป็นจำนวนเต็มหรือจำนวนทศนิยมโดยอัตโนมัติ

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

การสร้าง CSV

CSV.generate สร้างสตริง CSV ใส่อาร์เรย์ลงในบล็อกเพื่อเพิ่มแถว

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

เครื่องหมายอัญประกาศและอักขระพิเศษ

CSV จะใส่เครื่องหมายอัญประกาศให้ฟิลด์ที่มีจุลภาค เครื่องหมายอัญประกาศ หรือการขึ้นบรรทัดใหม่โดยอัตโนมัติ เพื่อรักษาโครงสร้างให้ถูกต้อง

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

ตัวคั่นแบบกำหนดเอง

สำหรับไฟล์ที่คั่นด้วยแท็บหรืออัฒภาค ให้กำหนด col_sep วิธีนี้รองรับ TSV และรูปแบบ CSV แบบยุโรป

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

การเขียนลงไฟล์

CSV.open พร้อมโหมด 'w' จะส่งแถวไปยังไฟล์โดยตรง

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

การอ่านจากไฟล์

CSV.read โหลดไฟล์ทั้งหมดเป็นอาร์เรย์ของแถว โดยรับตัวเลือกเดียวกับ 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'])

การหาผลรวมของคอลัมน์

งานที่พบบ่อยคือการอ่านคอลัมน์แล้วหาผลรวม ให้ใช้ส่วนหัว การแปลงตัวเลข และการแมปร่วมกัน

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

ตรวจสอบความเข้าใจ

ตัวเลือกใดทำให้คุณเข้าถึงฟิลด์ CSV ด้วยชื่อคอลัมน์ได้ เช่น row['age']

ทบทวน: การทำงานกับ CSV

คุณสามารถจัดการข้อมูลแบบตารางได้:

  • CSV.parse / CSV.read สำหรับอ่าน
  • headers: true สำหรับฟิลด์ที่มีชื่อ
  • converters: :numeric สำหรับค่าที่มีชนิดข้อมูล
  • CSV.generate / CSV.open สำหรับเขียน
  • col_sep สำหรับ TSV และตัวคั่นชนิดอื่น
require 'csv'
p CSV.parse_line('a,b,c')

คำถามที่พบบ่อย

บทเรียน “การทำงานกับ CSV” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การทำงานกับ CSV” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ruby Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ruby Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การทำงานกับ CSV”

ไลบรารี csv คุณปฏิบัติ Ruby Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ruby Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ruby Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การทำงานกับ CSV” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Ruby Academy นี้ได้ไหม

ได้ บทเรียน Ruby Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การอ่านและเขียน JSON
  2. การทำงานกับ CSV
  3. การกำหนดค่า YAML
  4. การเลือกรูปแบบข้อมูล
← กลับไปที่ Ruby Academy