CSV กับ Excel: ควรใช้ฟอร์แมตไหน
แต่ละฟอร์แมตเก็บอะไรได้บ้าง อะไรหายไปเมื่อแปลง และเมื่อไหร่ควรเลือกแบบไหน
ทั้งไฟล์ CSV และ Excel เก็บข้อมูลเป็นแถวและคอลัมน์ และ Excel ก็เปิดได้ทั้งคู่ จึงสับสนกันได้ง่าย แต่ทั้งสองถูกสร้างมาสำหรับงานต่างกัน และการเลือกผิดคือต้นเหตุของปัญหาสเปรดชีตส่วนใหญ่
แต่ละฟอร์แมตคืออะไร
ไฟล์ CSV (comma-separated values) เป็นข้อความธรรมดา แต่ละบรรทัดคือหนึ่งแถว และใช้จุลภาคคั่นค่าต่าง ๆ ไม่มีการจัดรูปแบบ ไม่มีสูตร ไม่มีชีต ไม่มีสี โปรแกรมไหนก็อ่านได้ ซึ่งนั่นคือจุดประสงค์ทั้งหมดของมัน
เวิร์กบุ๊ก Excel (.xlsx) เป็นไฟล์ที่มีโครงสร้าง เก็บค่า สูตร การจัดรูปแบบ หลายชีต แผนภูมิ ตัวกรอง และชนิดข้อมูล สร้างมาสำหรับคนที่ทำงานกับข้อมูล และต้องใช้โปรแกรมสเปรดชีตในการเปิด
เปรียบเทียบกัน
| CSV | Excel (.xlsx) | |
|---|---|---|
| สูตร | ไม่มี มีแค่ค่า | มี |
| การจัดรูปแบบและสี | ไม่มี | มี |
| หลายชีต | ไม่มี หนึ่งตารางต่อหนึ่งไฟล์ | มี |
| เลขศูนย์นำหน้าและตัวเลขยาว ๆ | เก็บไว้ในไฟล์ แต่มักหายไปเมื่อ Excel เปิด | เก็บไว้ถ้าบันทึกเป็นข้อความ |
| เปิดได้ในทุกโปรแกรม | ได้ | ต้องใช้โปรแกรมสเปรดชีต |
| เครื่องมือนำเข้ารับ | แทบทุกครั้ง | บางครั้ง |
| ขนาดไฟล์เมื่อข้อมูลเยอะ | เล็กและเรียบง่าย | บีบอัดไว้ และรองรับการจัดรูปแบบ |
ใช้ CSV เมื่อ
- นำเข้าไปยังระบบอื่น เช่น เครื่องมือส่งอีเมล CRM ซอฟต์แวร์บัญชี ร้านค้าออนไลน์ และฐานข้อมูล
- ส่งข้อมูลให้นักพัฒนาหรือสคริปต์
- ข้อมูลเป็นตารางธรรมดาตารางเดียวและต้องเปิดได้ทุกที่
แปลงเวิร์กบุ๊กด้วย Excel เป็น CSV ซึ่งส่งออกแต่ละชีตเป็น CSV แยกไฟล์ และเขียนวันที่ในรูปแบบที่ทุกระบบอ่านได้
ใช้ Excel เมื่อ
- คนจะอ่าน แก้ไข กรอง หรือทำแผนภูมิจากข้อมูล
- ต้องใช้สูตร หลายชีต หรือการจัดรูปแบบ
- ข้อมูลมีรหัสที่มีเลขศูนย์นำหน้าซึ่งต้องไม่หายไปเมื่อเปิด
เปลี่ยนไฟล์ที่ส่งออกมาให้เป็นเวิร์กบุ๊กที่ถูกต้องด้วย CSV เป็น Excel ซึ่งเก็บรหัสไว้เป็นข้อความและตรวจหาตัวคั่นให้เอง
อะไรหายไปเมื่อแปลงเป็น CSV
สูตรจะกลายเป็นค่าปัจจุบัน การจัดรูปแบบหายไป และแต่ละชีตกลายเป็นไฟล์แยก ซึ่งมักเป็นสิ่งที่เครื่องมือนำเข้าต้องการพอดี แต่ให้เก็บเวิร์กบุ๊กต้นฉบับไว้ถ้าจะแก้ไขอีก
ปัญหาจุลภาคแบบยุโรป
ในยุโรปส่วนใหญ่ จุลภาคใช้เป็นตัวคั่นทศนิยม Excel ในภูมิภาคนั้นจึงบันทึก CSV โดยใช้อัฒภาค (;) คั่นค่า CSV ที่คั่นด้วยจุลภาคจึงเปิดออกมาเป็นคอลัมน์ยาวคอลัมน์เดียว และ CSV ที่คั่นด้วยอัฒภาคก็ทำให้เครื่องมือนำเข้าที่คาดว่าจะเจอจุลภาคสับสน เครื่องมือแปลงทั้งสองตัวให้เลือกตัวคั่นได้ และ CSV เป็น Excel ตรวจหาให้อัตโนมัติ
แล้ว JSON ล่ะ
ถ้าข้อมูลจะถูกนำไปใช้ในเว็บไซต์ แอป หรือเครื่องมืออัตโนมัติ JSON มักเป็นสิ่งที่นักพัฒนาต้องการ CSV เป็น JSON จะเปลี่ยนแถวหัวตารางให้เป็นชื่อพร็อพเพอร์ตี