deno.com

CSV 解析與序列化

在 Github 上編輯

CSV 是一種資料序列化格式,旨在用於表格類型的應用程式。

import { parse, stringify } from "jsr:@std/csv";
若要解析 CSV 字串,您可以使用標準函式庫的 CSV 解析函數。該值會以 JavaScript 物件的形式傳回。
let text = `
url,views,likes
https://deno.land,10,7
https://deno.land/x,20,15
https://deno.dev,30,23
`;
let data = parse(text, {
  skipFirstRow: true,
  strip: true,
});
console.log(data[0].url); // https://deno.land
console.log(data[0].views); // 10
console.log(data[0].likes); // 7
如果我們的 CSV 格式不同,我們也可以透過程式碼提供欄位。
text = `
https://deno.land,10,7
https://deno.land/x,20,15
https://deno.dev,30,23
`;
data = parse(text, {
  columns: ["url", "views", "likes"],
});
console.log(data[0].url); // https://deno.land
console.log(data[0].views); // 10
console.log(data[0].likes); // 7
若要將 JavaScript 物件列表轉換為 CSV 字串,您可以使用標準函式庫的 CSV 字串化函數。
const obj = [
  { mascot: "dino", fans: { old: 100, new: 200 } },
  { mascot: "bread", fans: { old: 5, new: 2 } },
];
const csv = stringify(obj, {
  columns: [
    "mascot",
    ["fans", "new"],
  ],
});
console.log(csv);
// mascot,new
// dino,200
// bread,2

使用 Deno CLI 在本地執行此範例

deno run https://deno-docs.dev.org.tw/examples/scripts/parsing_serializing_csv.ts

您找到需要的資訊了嗎?

隱私權政策