JS读取本地CSV文件数据
创始人
2024-03-15 19:42:28
0

JS读取本地CSV文件数据

在这里插入图片描述
文件中的部分数据如图
在这里插入图片描述
需求是需要提取出文件的数据

使用到的模块是 Papa Parse

1. 依赖安装

yarn add papaparse

papaparse的基本使用可以参考官方demo

2. 解析本地文件

首先需要注意, papaparse解析本地文件, 需要的文件格式是从DOM中获得的File对象, 不能直接使用require()导入文件

以下方法直接导入是不可行的

Papa.parse(require('xx')) // 是不可行的

2.1 使用文件上传的形式

这里使用elementUI的上传组件

点击上传

import Papa from 'papaparse'
export default{
methods: {httpRequest({ file }) {console.log(file)Papa.parse(file, {header: true,complete: e => {console.log(e)}})}}
}
  1. 因为使用的是本地直接导入, 所以数据的结果需要在complete函数中接受
  2. 文件格式和数据的结果如下在这里插入图片描述

2.2 创建XMLHttpRequest请求, 相当于已经将数据获取, 通过papaparse整理

  1. 需要注意xhr.responseText的结果如下,也就是说相当于已经将数据获取
    在这里插入图片描述
  2. XMLHttpRequest.overrideMimeType(), 指定charset=GB2312 是为了将中文字符识别
  3. filePath就是需要传递的文件路径, 需要注意的是, 如果是Vue项目, 需要放在public文件夹下
    在这里插入图片描述
  4. Papaconfigheader: true是为了将CSV的表头变成key
    在这里插入图片描述
  5. 如果不设置header:true 就会变成下面的内容
    在这里插入图片描述
  6. 更多config的设置请参考文档
import Papa from 'papaparse'
/** 读取 csv 文件 */
export const readCSVFile = (filePath) => {if(!filePath) throw new Error('请输入正确的文件路径')const xhr = new window.XMLHttpRequest()xhr.open('GET', filePath, false)xhr.overrideMimeType('text/html;charset=GB2312')xhr.send(null)const { data } = Papa.parse(xhr.responseText, {header: true})
}

得到的数据
在这里插入图片描述

相关内容

热门资讯

美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...