CSV ขนาดใหญ่ · คู่มือใช้งานจริง
วิธีแบ่งไฟล์ CSV ขนาดใหญ่
CSV ที่เปิดใน Excel ไม่ได้หรือทำงานช้ามากจะจัดการง่ายขึ้นเมื่อแบ่งตามจำนวนแถว ขนาดเป้าหมาย หรือค่าของคอลัมน์ คู่มือนี้ช่วยเลือกวิธีที่เหมาะสม พร้อมป้องกันคอลัมน์เลื่อนและอักษรไทยผิดเพี้ยน
คำตอบสั้น ๆ: เลือกวิธีตามรูปแบบผลลัพธ์ที่ต้องการ
ใช้จำนวนแถวเมื่อต้องการให้แต่ละไฟล์มีจำนวนรายการใกล้เคียงกัน ใช้ขนาดเป้าหมายเมื่อระบบปลายทางจำกัดขนาดอัปโหลด และใช้ค่าคอลัมน์เมื่อต้องแจกไฟล์แยกตามสาขาหรือภูมิภาค LocaCSV ประมวลผล CSV หนึ่งไฟล์ขนาดไม่เกิน 50MiB ในเบราว์เซอร์
ทดลองแบ่ง CSV
สลับวิธีแบ่งเพื่อดูว่า CSV ตัวอย่าง 6 แถวจะกลายเป็นไฟล์ผลลัพธ์แบบใด
ก่อนแบ่ง: orders.csv
6 แถวข้อมูล301 B
| รหัสคำสั่งซื้อ | สาขา | ยอดเงิน |
|---|---|---|
| A001 | กรุงเทพฯ | 1200 |
| A002 | เชียงใหม่ | 800 |
| A003 | กรุงเทพฯ | 1500 |
| A004 | เชียงใหม่ | 600 |
| A005 | กรุงเทพฯ | 900 |
| A006 | เชียงใหม่ | 1100 |
หลังแบ่ง
แบ่งเป็น 3 ไฟล์
orders_001.csv
2 แถวข้อมูล153 B
| รหัสคำสั่งซื้อ | สาขา | ยอดเงิน |
|---|---|---|
| A001 | กรุงเทพฯ | 1200 |
| A002 | เชียงใหม่ | 800 |
orders_001.csv2 แถวข้อมูล153 B
| รหัสคำสั่งซื้อ | สาขา | ยอดเงิน |
|---|---|---|
| A001 | กรุงเทพฯ | 1200 |
| A002 | เชียงใหม่ | 800 |
orders_002.csv
2 แถวข้อมูล153 B
| รหัสคำสั่งซื้อ | สาขา | ยอดเงิน |
|---|---|---|
| A003 | กรุงเทพฯ | 1500 |
| A004 | เชียงใหม่ | 600 |
orders_002.csv2 แถวข้อมูล153 B
| รหัสคำสั่งซื้อ | สาขา | ยอดเงิน |
|---|---|---|
| A003 | กรุงเทพฯ | 1500 |
| A004 | เชียงใหม่ | 600 |
orders_003.csv
2 แถวข้อมูล153 B
| รหัสคำสั่งซื้อ | สาขา | ยอดเงิน |
|---|---|---|
| A005 | กรุงเทพฯ | 900 |
| A006 | เชียงใหม่ | 1100 |
orders_003.csv2 แถวข้อมูล153 B
| รหัสคำสั่งซื้อ | สาขา | ยอดเงิน |
|---|---|---|
| A005 | กรุงเทพฯ | 900 |
| A006 | เชียงใหม่ | 1100 |
ทำไม CSV ขนาดใหญ่จึงเปิดยาก
CSV เป็นไฟล์ข้อความ แต่โปรแกรมที่เปิดยังมีข้อจำกัด Excel หนึ่งแผ่นงานรองรับได้สูงสุด 1,048,576 แถว และไฟล์ที่เล็กกว่านั้นก็อาจช้าเมื่อมีคอลัมน์กว้าง เซลล์ยาว หรือหน่วยความจำไม่เพียงพอ
- จำนวนแถวเกินขีดจำกัดของแผ่นงาน Excel
- หน่วยความจำของอุปกรณ์ไม่พอระหว่างโหลดทั้งไฟล์
- เลือกรหัสอักขระหรือตัวคั่นผิด ทำให้ข้อความอ่านไม่ได้หรือข้อมูลรวมอยู่คอลัมน์เดียว
- การแยกข้อความแบบง่ายทำลายเครื่องหมายจุลภาค เครื่องหมายคำพูดคู่ หรือการขึ้นบรรทัดใหม่ภายในเซลล์ที่ครอบด้วยเครื่องหมายคำพูด
ควรใช้ Excel, Power Query, Python หรือ LocaCSV
พิจารณาจากขนาดไฟล์ ความถี่ของงาน และความพร้อมของทีมในการดูแลขั้นตอนหรือโค้ด
| วิธี | เหมาะกับ | ข้อดี | ข้อควรระวัง |
|---|---|---|---|
| Excel | ไฟล์เล็กและงานครั้งเดียว | หน้าจอคุ้นเคย | มีขีดจำกัดแถวและเสี่ยงผิดพลาดจากงานด้วยมือ |
| Power Query | งานนำเข้า Excel ที่ทำซ้ำ | บันทึกขั้นตอนและรีเฟรชได้ | การส่งออกเป็น CSV หลายไฟล์ต้องตั้งค่าเพิ่ม |
| Python | งานขนาดใหญ่หรืองานตามกำหนดเวลา | ปรับแต่งและทำงานอัตโนมัติได้ | ต้องดูแลสภาพแวดล้อมและโค้ด |
| LocaCSV | แบ่งไฟล์ไม่เกิน 50MiB อย่างรวดเร็ว | ทำงานในเบราว์เซอร์โดยไม่อัปโหลด CSV | สูงสุด 100 ไฟล์ และเลือกได้หนึ่งคอลัมน์ในโหมดแบ่งตามค่า |
Excel
- เหมาะกับ
- ไฟล์เล็กและงานครั้งเดียว
- ข้อดี
- หน้าจอคุ้นเคย
- ข้อควรระวัง
- มีขีดจำกัดแถวและเสี่ยงผิดพลาดจากงานด้วยมือ
Power Query
- เหมาะกับ
- งานนำเข้า Excel ที่ทำซ้ำ
- ข้อดี
- บันทึกขั้นตอนและรีเฟรชได้
- ข้อควรระวัง
- การส่งออกเป็น CSV หลายไฟล์ต้องตั้งค่าเพิ่ม
Python
- เหมาะกับ
- งานขนาดใหญ่หรืองานตามกำหนดเวลา
- ข้อดี
- ปรับแต่งและทำงานอัตโนมัติได้
- ข้อควรระวัง
- ต้องดูแลสภาพแวดล้อมและโค้ด
LocaCSV
- เหมาะกับ
- แบ่งไฟล์ไม่เกิน 50MiB อย่างรวดเร็ว
- ข้อดี
- ทำงานในเบราว์เซอร์โดยไม่อัปโหลด CSV
- ข้อควรระวัง
- สูงสุด 100 ไฟล์ และเลือกได้หนึ่งคอลัมน์ในโหมดแบ่งตามค่า
วิธีแบ่ง CSV ด้วย LocaCSV
หากคอลัมน์ในตัวอย่างไม่ตรงแนว ให้แก้ตัวคั่นหรือรหัสอักขระก่อนดำเนินการต่อ
- เปิด แบ่ง CSV สำหรับจำนวนแถวหรือขนาด หรือเปิด แบ่งตามค่า เพื่อจัดกลุ่มตามคอลัมน์ แล้วเลือก CSV หนึ่งไฟล์
- ตรวจสอบส่วนหัว รหัสอักขระ ตัวคั่น และตัวอย่างข้อมูล
- ใส่จำนวนแถวข้อมูลต่อไฟล์หรือขนาดเป้าหมาย ส่วนหน้าแบ่งตามค่าให้เลือกหนึ่งคอลัมน์
- เริ่มแบ่ง ตรวจสอบว่าจำนวนแถวเข้าเท่ากับแถวออกบวกแถวที่ยกเว้น แล้วดาวน์โหลด ZIP
การแบ่งตามค่าของคอลัมน์ทำงานอย่างไร
โหมดแบ่งตามค่าจะสร้าง CSV หนึ่งไฟล์ต่อหนึ่งค่าที่พบในคอลัมน์ที่เลือก เช่น คอลัมน์สาขาที่มี กรุงเทพฯ เชียงใหม่ และขอนแก่น จะได้สามไฟล์
- แถวที่มีค่าเดียวกันจะอยู่ในไฟล์ผลลัพธ์เดียวกัน
- ค่าที่ว่างสามารถยกเว้นหรือเขียนเป็นไฟล์แยกตามตัวเลือก
- หนึ่งครั้งเลือกคอลัมน์แบ่งได้หนึ่งคอลัมน์และสร้างได้สูงสุด 100 ไฟล์
ข้อควรระวังเรื่องจำนวนแถวและขนาดไฟล์
LocaCSV รับ CSV หนึ่งไฟล์ขนาดไม่เกิน 50MiB ความเร็วจริงขึ้นอยู่กับอุปกรณ์ ความยาวของแต่ละแถวข้อมูล และจำนวนไฟล์ผลลัพธ์ด้วย
- โหมดจำนวนแถวไม่นับส่วนหัวเป็นแถวข้อมูล
- โหมดขนาดเป้าหมายนับรหัสอักขระผลลัพธ์ BOM และส่วนหัวที่เขียนซ้ำในแต่ละไฟล์ แต่จะไม่ตัดข้อมูลหนึ่งแถวออกเป็นสองส่วน
- เก็บไฟล์ต้นฉบับไว้และตรวจสอบจำนวนแถวก่อนใช้ผลลัพธ์
รหัสอักขระภาษาไทยและข้อความเพี้ยน
ไฟล์ใหม่ที่มีภาษาไทยควรใช้ UTF-8 และใช้ UTF-8 พร้อม BOM เมื่อขั้นตอนงานต้องเปิดไฟล์โดยตรงใน Excel ส่วน TIS-620 และ Windows-874 เป็นรหัสอักขระภาษาไทยรุ่นเก่า แต่ LocaCSV ยังไม่รองรับเป็นรหัสอักขระนำเข้าหรือส่งออก จึงควรแปลงจากระบบต้นทางเป็น UTF-8 ก่อนใช้งาน
- ตรวจสอบชื่อไทย สระ วรรณยุกต์ เครื่องหมายบาท และข้อความหลายภาษาในตัวอย่าง
- อย่าเลือก Windows-1252 สำหรับข้อความไทย เพราะไม่ใช่ Windows-874 และไม่สามารถแทนตัวอักษรไทยได้
- คอลัมน์ที่เลื่อนมักเกิดจากตัวคั่นผิด ไม่ใช่รหัสอักขระ