陪伴而非守候
2024-01-18 20:40:39
我用來papaparse讀取 csv 文件,然后將該文件轉(zhuǎn)換為對象數(shù)組。我用來react-dropzone上傳文件,然后將其轉(zhuǎn)換為對象數(shù)組。但我需要所有標題均為小寫,某些列之間沒有空格才能以數(shù)組形式存儲數(shù)據(jù)。這是我的 csv 文件| Name | Age | Data one | Data two |-------|-----|----------|----------|| John | 23 | A, B | C |-------|-----|----------|----------|| Jane | 40 | E, F | G, H |-------|-----|----------|----------|這是我的代碼:import React from "react";import Dropzone from "react-dropzone";import Papa from 'papaparse';const App = () => { const handleOnDrop = (acceptedFiles) => { // acceptedFiles is the actual file uploaded by user Papa.parse(acceptedFiles[0], { header: true, complete: (results) => { console.log(results) } }) }}OutPut:[ { Name: "John", Age: "23", Data one: "A, B", Data two: "C" }, { Name: "Jane", Age: "40", Data one: "E, F", Data two: "G, H" }]我需要的輸出是:[ { name: "John", age: "23", dataone: ["A", "B"], // Each individual data should be a string datatwo: ["C"] }, { name: "Jane", age: "40", dataone: ["E", "F"], datatwo: ["G", "H"] }]我是新手papaparse,不確定它是如何完成的
1 回答

藍山帝景
TA貢獻1843條經(jīng)驗 獲得超7個贊
在第二個參數(shù)中,parse您可以為鍵提供一個函數(shù)transformHeader來轉(zhuǎn)換列名。例如(headerName) => headerName.toLowerCase().replaceAll(' ', '')。
第二個問題與 papaparse 無關(guān)。您可以results.map(result => { ...result, dataone: result.dataone.split(', ') })對 datatwo 使用并執(zhí)行相同的操作。兩個列名稱是否預(yù)先已知,或者是否需要動態(tài)工作并且需要將其應(yīng)用于帶有逗號的所有字符串?
當列名位于數(shù)組中時,請使用以下代碼。
results.map(result => {
for(const column of columnsToconvertToArray) {
result[column] = result[column].split(', ');
}
return result;
});
添加回答
舉報
0/150
提交
取消