亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

React - 使用 papaparse 將一些 csv 列轉換為數組

React - 使用 papaparse 將一些 csv 列轉換為數組

陪伴而非守候 2024-01-18 20:40:39
我用來papaparse讀取 csv 文件,然后將該文件轉換為對象數組。我用來react-dropzone上傳文件,然后將其轉換為對象數組。但我需要所有標題均為小寫,某些列之間沒有空格才能以數組形式存儲數據。這是我的 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條經驗 獲得超7個贊

在第二個參數中,parse您可以為鍵提供一個函數transformHeader來轉換列名。例如(headerName) => headerName.toLowerCase().replaceAll(' ', '')。


第二個問題與 papaparse 無關。您可以results.map(result => { ...result, dataone: result.dataone.split(', ') })對 datatwo 使用并執行相同的操作。兩個列名稱是否預先已知,或者是否需要動態工作并且需要將其應用于帶有逗號的所有字符串?


當列名位于數組中時,請使用以下代碼。


results.map(result => {

  for(const column of columnsToconvertToArray) {

    result[column] = result[column].split(', ');

  }

  return result;

});


查看完整回答
反對 回復 2024-01-18
  • 1 回答
  • 0 關注
  • 290 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號