
文件中的部分数据如图

需求是需要提取出文件的数据
使用到的模块是 Papa Parse
yarn add papaparse
papaparse的基本使用可以参考官方demo
首先需要注意, papaparse解析本地文件, 需要的文件格式是从DOM中获得的File对象, 不能直接使用require()导入文件
以下方法直接导入是不可行的
Papa.parse(require('xx')) // 是不可行的
这里使用elementUI的上传组件
点击上传
import Papa from 'papaparse'
export default{
methods: {httpRequest({ file }) {console.log(file)Papa.parse(file, {header: true,complete: e => {console.log(e)}})}}
}
complete函数中接受
XMLHttpRequest请求, 相当于已经将数据获取, 通过papaparse整理xhr.responseText的结果如下,也就是说相当于已经将数据获取
charset=GB2312 是为了将中文字符识别filePath就是需要传递的文件路径, 需要注意的是, 如果是Vue项目, 需要放在public文件夹下
Papa的config中header: true是为了将CSV的表头变成key值
header:true 就会变成下面的内容
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})
}
得到的数据
