nodejs读取并去重excel文件
作者:laozhang 发布时间:2024-04-27 16:17:48
标签:nodejs,excel
如何使用,直接上代码
/**
* 安装node-xlsx插件
*/
var path = require('path')
var fs = require('fs')
var xlsx = require('node-xlsx')
//去重算法
Array.prototype.unique = function () {
this.sort(); //先排序
var res = [this[0]];
for (var i = 1; i < this.length; i++) {
if (this[i] !== res[res.length - 1]) {
res.push(this[i]);
}
}
return res;
}
//取得xlsx
var obj = xlsx.parse(path.resolve(`./xlsx/x.xlsx`))
var newArray = []
//读取第一列
//obj[0].data:指第一个sheet的表格数据
//data内部的数据结构为:
//[[ 'field1','field2','field13' ],[ 'field1','field2','field13' ]]
for (var data of obj[0].data) {
newArray.push(data[0])
}
//去重之前
console.log(newArray.length)
var openIds = newArray.unique();
//去重之后
console.log(newArray.length)
var j = 0
for (var i = 0; i < newArray.length; i++) {
//每一行
console.log(newArray[i])
}
解析一下
node-xlsx导出的数据结构如下:
//json结构
[{
name: 'sheet1 name',
data: [['field1', 'field2', 'field13'],
['field1', 'field2', 'field13']]
},
{
name: 'sheet2 name',
data: [['field1', 'field2', 'field13'],
['field1', 'field2', 'field13']]
}]


猜你喜欢
- 1. 用grep函数 函数名 grep 调用语法 @foundlist = grep (pattern, @searchlist); 解说
- 当数据库的数据量读写频繁的时候,我们就要考虑把数据库的读写分开,以提高数据库的使用效率,(当然还有其他用处比如,备份数据),这个时候我们就要
- 我就废话不多说了,直接上代码吧!import datetimedef find_close(arr, e): start_time = da
- 数据类型判断在python(版本3.0以上)使用变量,并进行值比较时。有时候会出现以下错误:TypeError: unorderable t
- 在处理numpy数组,有这个需求,故写下此文:使用np.argwhere和np.all来查找索引。要使用np.delete删除它们。示例1i
- 这个是今年年初写的一篇,拿出来温习下。指针让程序结构变得混乱,也让程序执行效率提高,因此在oo的语言中不提倡指针的使用,使得程序结构清晰易读
- 最近在做深度学习时需要用到图像处理相关的操作,在度娘上找到的图片旋转方法千篇一律,旋转完成的图片都不是原始大小,很苦恼,于是google到歪
- 本文实例讲述了python检测某个变量是否有定义的方法。分享给大家供大家参考。具体如下:第一种方法使用内置函数locals():'t
- 通过show variables like 'character_set%%';查看编码修改mysql的编码方式可以有以下几
- 一、图像直方图1.1 定义图像直方图是图像的基本属性之一,也是反映图像像素数据分布的统计学特征,其横坐标代表了图像像素点在[0,255]范围
- 一、LeetCode——125.验证回文串1.问题描述给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:
- ASP(Active Server Page)是Microsoft公司推出的基于PWS(Personal We
- import matplotlib.pyplot as pltimport jiebafrom wordcloud import wordc
- 生成HTML方法主要步骤只有两个:一、获取要生成的html文件的内容二、将获取的html文件内容保存为html文件我在这里主要说明的只是第一
- SQL SERVER数据库用datetime类型的时候 如果插入NULL,没有问题 如果插入空串"",就会默认1900-
- mysql创建存储过程的官方语法为:START TRANSACTION | BEGIN [WORK]COMMIT [WORK] [AND [
- <style> *{position:absolute;} #panel *{border:1px so
- 一,啥是Block Formatting Context当涉及到可视化布局的时候,Block Formatting Context提供了一个
- Jupyter Notebook本身是默认使用一种Anaconda中root目录下的Python环境的,如果想使用其它的虚拟环境,还需要通过
- iframe是非常常用的一个html元素,如果在父页面中使用子页面的方法应该怎么写呢,下面就做一下简单的介绍。一、父页面代码<html