ทำอะไรได้
ตัวแปลงนี้แปลง CSV (comma-separated values) เป็น JSON และแปลง JSON กลับเป็น CSV โดย CSV คือสิ่งที่สเปรดชีต ฐานข้อมูล และเครื่องมือวิเคราะห์ส่งออกมา ส่วน JSON คือสิ่งที่ API โค้ด JavaScript และไฟล์คอนฟิกต้องการ วางรูปแบบใดรูปแบบหนึ่ง แล้วอีกรูปแบบจะแสดงขึ้นทันที
Parser เป็นไปตาม RFC 4180 ซึ่งเป็นมาตรฐาน CSV: ฟิลด์ครอบด้วยเครื่องหมายคำพูดคู่ได้ เครื่องหมายคำพูดภายในฟิลด์ที่ครอบไว้เขียนเป็นสองตัว ("") และฟิลด์ที่ครอบไว้มีจุลภาคและการขึ้นบรรทัดใหม่ได้ รองรับทั้งการขึ้นบรรทัดแบบ Windows (CRLF) และ Unix (LF) และ byte order mark ของ UTF-8 จาก Excel จะถูกลบออกให้อัตโนมัติ
วิธีใช้งาน
- วาง CSV ลงในช่อง อินพุต ลากไฟล์
.csvหรือ.tsvมาวาง หรือคลิก ตัวอย่าง - ปล่อย ตัวคั่น ไว้ที่ตรวจหาอัตโนมัติ หรือเลือกจุลภาค อัฒภาค (พบบ่อยในไฟล์ Excel ที่ส่งออกจากยุโรป) แท็บ หรือไปป์
- เปิด แถวแรกเป็นหัวตาราง ไว้เพื่อได้อาร์เรย์ของออบเจกต์ที่ใช้ชื่อคอลัมน์เป็นคีย์ ปิดไว้เพื่อได้อาร์เรย์ของอาร์เรย์
- ตรวจหาตัวเลขและบูลีน จะแปลง
42เป็นตัวเลข และtrueเป็นบูลีน ปิดไว้เพื่อเก็บทุกเซลล์เป็นข้อความ - สลับ ทิศทาง เป็น JSON → CSV เพื่อแปลงกลับ คัดลอกหรือดาวน์โหลดผลลัพธ์
เมื่อแปลง JSON เป็น CSV อินพุตควรเป็นอาร์เรย์ของออบเจกต์ คอลัมน์คือคีย์ทั้งหมดรวมกันตามลำดับที่พบครั้งแรก แถวที่ขาดฟิลด์จึงได้เซลล์ว่างไป เซลล์ที่มีตัวคั่น เครื่องหมายคำพูด หรือการขึ้นบรรทัดใหม่จะถูกครอบด้วยเครื่องหมายคำพูดอัตโนมัติ
ตัวอย่าง
id,name,active
1,Ada Lovelace,true
2,"Turing, Alan",false
จะกลายเป็น
[
{ "id": 1, "name": "Ada Lovelace", "active": true },
{ "id": 2, "name": "Turing, Alan", "active": false }
]
การจัดการไฟล์ที่ไม่เรียบร้อย
เซลล์หัวตารางที่ว่างจะได้ชื่อ column1, column2 ไปเรื่อย ๆ และชื่อที่ซ้ำกันจะได้คำต่อท้ายอย่าง name_2 จึงไม่มีค่าใดถูกเขียนทับ แถวที่สั้นกว่าหัวตารางจะถูกเติมด้วยสตริงว่าง ส่วนเซลล์ที่เกินมาจะได้ชื่อคอลัมน์ของตัวเอง หากฟิลด์ที่ครอบด้วยเครื่องหมายคำพูดไม่ได้ปิด ข้อความแสดงข้อผิดพลาดจะบอกบรรทัดและคอลัมน์ที่มันเริ่มต้นอย่างแม่นยำ
คำถามที่พบบ่อย
› CSV ของฉันถูกอัปโหลดไปยังเซิร์ฟเวอร์หรือไม่?
ไม่ การแยกวิเคราะห์และการแปลงทำงานในเบราว์เซอร์ทั้งหมด ไฟล์ที่มีข้อมูลลูกค้าหรือข้อมูลธุรกิจจึงไม่ออกจากอุปกรณ์ของคุณ
› ตรวจหาตัวคั่นอย่างไร?
ในโหมดตรวจหาอัตโนมัติ เครื่องมือจะนับจุลภาค อัฒภาค แท็บ และไปป์ในบรรทัดแรก (ไม่นับสิ่งที่อยู่ในเครื่องหมายคำพูด) แล้วใช้ตัวที่พบบ่อยที่สุด หากเดาผิด ให้เลือกตัวคั่นเอง
› ทำไมตัวเลขยาว ๆ ถูกเก็บเป็นสตริง?
ตัวเลขของ JavaScript เสียความแม่นยำเมื่อเกิน 15–16 หลัก จำนวนเต็มยาว ๆ อย่าง ID เบอร์โทรศัพท์ หรือเลขบัตรจึงคงเป็นสตริง ค่าที่ขึ้นต้นด้วยศูนย์อย่าง 007 ก็เก็บเป็นข้อความเช่นกัน
› ออบเจกต์ที่ซ้อนกันจะเป็นอย่างไรเมื่อแปลง JSON เป็น CSV?
ออบเจกต์และอาร์เรย์ที่ซ้อนกันจะถูกเขียนลงเซลล์เดียวเป็น JSON แบบกระชับ ข้อมูลจึงไม่สูญหาย และคุณ parse เซลล์นั้นอีกครั้งได้ภายหลัง