การทำงานกับ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การอ่านและเขียน JSON
- การทำงานกับ CSV
- การกำหนดค่า YAML
- การเลือกรูปแบบข้อมูล