JavaScript:
การทำงานกับ CSV

วิธีการ:

JavaScript ไม่มีฟังก์ชันสำหรับแยกหรือสร้างสตริง CSV โดยตรงเหมือนกับ JSON อย่างไรก็ตามคุณสามารถจัดการข้อมูล CSV ได้อย่างง่ายดายโดยใช้ JavaScript ธรรมดาสำหรับงานที่ง่าย หรือใช้ไลบรารี่ที่มีพลังเช่น PapaParse สำหรับสถานการณ์ที่ซับซ้อนมากขึ้น

การแยกข้อมูลพื้นฐานด้วย JavaScript ธรรมดา

เพื่อแยกสตริง CSV เป็นอาร์เรย์ของอ็อบเจ็กต์:

const csv = `name,age,city
John,23,New York
Jane,28,Los Angeles`;

function parseCSV(csv) {
  const lines = csv.split("\n");
  const result = [];
  const headers = lines[0].split(",");

  for (let i = 1; i < lines.length; i++) {
    const obj = {};
    const currentline = lines[i].split(",");
    
    for (let j = 0; j < headers.length; j++) {
      obj[headers[j]] = currentline[j];
    }
    result.push(obj);
  }
  
  return result;
}

console.log(parseCSV(csv));

ผลลัพธ์:

[
  { name: 'John', age: '23', city: 'New York' },
  { name: 'Jane', age: '28', city: 'Los Angeles' }
]

การสร้างสตริง CSV พื้นฐานด้วย JavaScript ธรรมดา

เพื่อแปลงอาร์เรย์ของอ็อบเจ็กต์เป็นสตริง CSV:

const data = [
  { name: 'John', age: 23, city: 'New York' },
  { name: 'Jane', age: 28, city: 'Los Angeles' }
];

function arrayToCSV(arr) {
  const csv = arr.map(row => 
    Object.values(row).join(',')
  ).join('\n');
  
  return csv;
}

console.log(arrayToCSV(data));

ผลลัพธ์:

John,23,New York
Jane,28,Los Angeles

ใช้ PapaParse สำหรับงาน CSV ที่ซับซ้อน

สำหรับสถานการณ์ที่ซับซ้อนมากขึ้น PapaParse เป็นไลบรารี่ที่เหมาะสมสำหรับการแยกและสร้างไฟล์ CSV พร้อมตัวเลือกสำหรับสตรีม, วอร์กเกอร์, และการจัดการไฟล์ขนาดใหญ่

การแยกไฟล์หรือสตริง CSV ด้วย PapaParse:

// หลังจากเพิ่ม PapaParse ลงในโปรเจ็กต์ของคุณ
const Papa = require('papaparse');
const csv = `name,age,city
John,23,New York
Jane,28,Los Angeles`;

Papa.parse(csv, {
  complete: function(results) {
    console.log("Parsed:", results.data);
  }
});

ผลิต:

Parsed: [
  ["name", "age", "city"],
  ["John", "23", "New York"],
  ["Jane", "28", "Los Angeles"]
]

การแปลงอาร์เรย์เป็นสตริง CSV ด้วย PapaParse:

const data = [
  { name: 'John', age: 23, city: 'New York' },
  { name: 'Jane', age: 28, city: 'Los Angeles' }
];

console.log(Papa.unparse(data));

ผลิต:

name,age,city
John,23,New York
Jane,28,Los Angeles

ตัวอย่างเหล่านี้แสดงวิธีการจัดการข้อมูล CSV พื้นฐานและขั้นสูงใน JavaScript ซึ่งทำให้การแลกเปลี่ยนข้อมูลในเว็บแอพพลิเคชั่นและอื่น ๆ ง่ายขึ้น