วันนี้ผมต้องทำงานกับ CSV ไฟล์ใหญ่มาก เปิดด้วย excel ไม่ได้อีกทั้ง CSV ไฟล์มีการขึ้นบรรทัดใหม่แบบมั่วมาก ก็คือปกติ 1 row จะถือว่าเป็น 1 record แต่ว่ากรณีของผมนี่ 1 record อาจจะมีหลาย row และจำนวน column ก็มีเป็นร้อย อีกทั้ง data หลายๆ column เป็น Text หลักร้อยถึงหลายพันตัวอักษร แต่ผมก็เปิดมาแก้ไขได้ แค่ต้องมีเทคนิคนิดหน่อย
CSV คือ Text file
อยากให้ทำความเข้าใจเบื้องต้นก่อน ว่า CSV คือ Text file เหมือนที่เราเปิด Notepad แล้ว พิมพ์นั่นแหล่ะ แต่ว่ามันพิเศษตรงที่เค้าแบ่งเนื้อหา แต่ละ column ด้วยอะไรบางอย่าง เช่น Comma (ลูกน้ำ ,) หรือ Pipe | ก็ได้แล้วจะมีความกว้างของ column ที่เท่ากันเสมอทุก row เช่น มี 10 column ทุกๆบรรทัด หรือว่า content แต่ละ row ก็จะมี 10 column เสมอตลอดทั้งไฟล์ ถ้าบาง column ของบาง row เป็นค่าว่างเปล่า ก็จะยังต้องคั่นด้วยค่าว่างเช่นเช่นกัน เช่น 1,2,3,4,,6,7,8,,10 จะเห็นว่า ว่างไป สองค่า คือ 5 กับ 9 แต่ก็มีลูกน้ำคั่นไปตามปกติ อ่านต่อ… “เปิด CSV ไฟล์ใหญ่ระดับหลาย GB และทำงานได้ไม่อืด”