Coisas que eu quero fazer
O arquivo CSV no servidor é convertido para JSON no lado do cliente e utilizado lá.
A biblioteca utilizada é a node-csvtojson. O Node.js precisa estar instalado.
Como todos os dados serão baixados para o cliente, considere métodos alternativos caso esteja lidando com dados sensíveis, como informações de usuários ou grandes volumes de dados.
Preparar
Instale o csvtojson executando o seguinte comando no diretório raiz do projeto.
npm e csvtojson
implementação
A implementação é a seguinte:
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")A função `fetchSetting` baixa um arquivo CSV e, em seguida, chama a função `convertCsv2Json`. (O argumento `/setting.csv` é a URL do arquivo CSV; altere-o conforme necessário.)
O convertCsv2Json converte arquivos CSV baixados em JSON.
Os dados convertidos para JSON podem ser usados como `csv_data` na seguinte função.
csv_data => {
console.log(csv_data);
}Os caracteres japoneses podem aparecer ilegíveis. Salve o arquivo CSV no formato UTF-8.
Exemplo
Aqui estão exemplos de entrada em CSV e saída em JSON.
A primeira linha é considerada o título.
/configuração.csv
Nome, Idade, País
Taro, 25, Japão
Tom, 21, EUA
dados csv

Outros métodos de saída
Você pode alterar a saída passando argumentos para a função csv().
csv({ noheader: true, output: csv })
Com essa configuração, a primeira linha também é tratada como dados, e os dados são salvos como uma matriz.
/configuração.csv
Nome, Idade, País
Taro, 25, Japão
Tom, 21, EUA
dados csv

csv({ saída: linha })
Com essa configuração, os dados serão salvos como uma única string.
/configuração.csv
Nome, Idade, País
Taro, 25, Japão
Tom, 21, EUA
dados csv



コメント