我想做的事情
服务器端的 CSV 文件在客户端转换为 JSON 格式并使用。
使用的库是 node-csvtojson。必须安装 Node.js。
GitHub - Keyang/node-csvtojson: Blazing fast and Comprehensive CSV Parser for Node.JS / Browser / Command Line.
Blazing fast and Comprehensive CSV Parser for Node.JS / Browser / Command Line. - GitHub - Keyang/node-csvtojson: Blazing fast and Comprehensive CSV Parser for...
由于所有数据都将下载到客户端,如果您处理的是敏感数据(例如用户信息)或大量数据,请考虑其他方法。
准备
在项目根目录下运行以下命令来安装 csvtojson。
npm 和 csvtojson
执行
具体实现如下:
import csv from "csvtojson"
const convertCsv2Json = (txt) => {
csv().fromString(txt).then(
csv_data => {
console.log(csv_data);
}
)
}
const fetchSetting = async (url) => {
fetch(url).then(res => res.text().then(txt => convertCsv2Json(txt)));
}
fetchSetting("/setting.csv")`fetchSetting` 函数会下载一个 CSV 文件,然后调用 `convertCsv2Json` 函数。(参数 `/setting.csv` 是 CSV 文件的 URL;请根据需要进行更改。)
convertCsv2Json 将下载的 CSV 文件转换为 JSON。
转换为 JSON 格式的数据可以用作以下函数中的 `csv_data`。
csv_data => {
console.log(csv_data);
}日文字符可能显示不全。请将 CSV 文件保存为 UTF-8 格式。
例子
以下是输入 CSV 和输出 JSON 的示例。
第一行被视为标题。
/setting.csv
姓名、年龄、国家
Taro,25岁,日本
汤姆,21岁,美国
csv_数据

其他输出方法
您可以通过向 csv() 函数传递参数来更改输出。
csv({ noheader: true, output: csv })
在此设置下,第一行也被视为数据,并将数据保存为数组。
/setting.csv
姓名、年龄、国家
Taro,25岁,日本
汤姆,21岁,美国
csv_数据

csv({ output: line })
在此设置下,数据将保存为单个字符串。
/setting.csv
姓名、年龄、国家
Taro,25岁,日本
汤姆,21岁,美国
csv_数据



コメント