当前位置: 首页 > news >正文

XLSX.utils.sheet_to_json()解析excel,给空的单元格赋值为空字符串

前言
今天用到XLSX来解析excel文件,调用XLSX.utils.sheet_to_json(worksheet),发现如果单元格为空的话,解析出来的结果,就会缺少相应的key(如图所示)。但是我想要单元格为空的话,值就默认给空字符串,怎么办呢?只能去看看源码了,看有没有给默认值的方法。
请添加图片描述
请添加图片描述

源码探究
找源码里的sheet_to_json()方法,发现有三个同名的方法,有两个参数,第一个worksheet是要解析的excel文件的工作簿对象,第二参数opts?: Sheet2JSONOpts,
?表示是这个参数可有可无,你不传就没有,Sheet2JSONOpts这个是什么东西?我也不知道,只能接着往下看源码有没有这个东西的定义。(一般都会有)
请添加图片描述
果然,如我所料,终于在源码找到Sheet2JSONOpts的定义,发现有五个变量,这五个变量都带?,说明这个五个变量都可有可无。然后我就看到图中红框的部分,发现注释写这着Default value for null/undefined values,意思是值为空或未定义的默认值变量。这是不就是我要找的解决方法了吗?高兴得赶紧去实现一下。
请添加图片描述

解决
按照源码来定义第二个参数,给defval赋值为空的字符串,如代码所示

const sheet2JSONOpts = {/** Default value for null/undefined values */defval: ''//给defval赋值为空的字符串
}
//调用方法
const results = XLSX.utils.sheet_to_json(worksheet, sheet2JSONOpts)
console.log(results)

最后,结果成功解决我问题,如下图所示
请添加图片描述
总结
在用一些插件的时候,有些问题,其实可以通过看源码来找到很好的解决方法,插件会封装好一些方法,来给我们调用。

相关文章:

XLSX.utils.sheet_to_json()解析excel,给空的单元格赋值为空字符串

前言 今天用到XLSX来解析excel文件,调用XLSX.utils.sheet_to_json(worksheet),发现如果单元格为空的话,解析出来的结果,就会缺少相应的key(如图所示)。但是我想要单元格为空的话,值就默认给空字…...

安装Docker(Linux:CentOS)

大家好我是苏麟今安装一下Docker. 安装Docker Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。 Docker CE 分为 stab…...

2310月问题描述

apt包管理 修改apt目录,不存在apt.conf文件,但是存在apt.conf.d目录,如何修改apt的安装目录 apt-get 命令是 Ubuntu 系统中的包管理工具,可以用来安装、卸载包,也可以用来升级包,还可以用来把系统升级到新的版本。 语法格式&…...

y _hat[ [ 0, 1], y ]语法——pytorch张量花式索引

目录 1. y _hat[ [ 0, 1]例子 2.pytorch花式索引 (1)简单行、列索引 (2)列表索引 (3)范围索引 (4)布尔索引 (5)多维索引 3.张量拼接 (1…...

高级岗位面试问题

自我介绍 【我是谁】 、【我做过什么】、【我会什么】 面试官您好,我叫xxx,来自江西。20XX年毕业于XXXXX大学,已有X年软件测试工作经验,之前在XX家公司担任测试工程师 最近一家公司我主要负责了两个项目的测试,分别为XXXXX的编写,测试用例的设计,测试环境的搭建以及测…...

区块链游戏的开发框架

链游(Blockchain Games)是基于区块链技术构建的游戏。它们与传统游戏有一些显著不同之处,因此需要特定的开发框架和工具。以下是一些用于链游开发的开发框架及其特点,希望对大家有所帮助。北京木奇移动技术有限公司,专…...

Windows Nginx 服务器部署(保姆级)

大家好 我是寸铁 不知道怎么部署Windows Nginx 服务器看过来 手把手带你部署服务器 将你的本地网页部署到服务器上 话不多说,直接上操作!!! Windows Nginx服务器部署 进入下载地址: http://nginx.org/en/download.h…...

常用的Linux命令及其用法

常用的Linux命令及其用法 1. ls:列出文件和目录 ls命令用于列出当前目录中的文件和子目录。通过不同的选项,可以显示详细信息、隐藏文件等。 示例: ls -l ls -a2. cd:切换工作目录 cd命令用于切换当前工作目录。通过指定目标…...

linux总结

cat -n filename 查看文件,-n用来给每一行标行号,可以省略 cat /var/log/mysqld.log | grep password 我们可以通过上述指令,查询日志文件内容中包含password的行信息。 more 作用: 以分页的形式显示文件内容 语法: more fileName 操作说明: 回车键 …...

java - 设计模式 - 状态模式

文章目录 前言java - 设计模式 - 状态模式1. 概述2. 作用3. 示例 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差,实在白嫖的话&#xf…...

c/c++--编译指令(预处理之后) #pragma

1. #pragma 作用 #pragma 用于指示编译器完成一些特定的动作#pragma 的功能或作用 随编译器不同而变化。 即 不同的编译器可能以不同的方式解释同一条 #pragma 指令 2. 用法 常见用法示例 2.1 #pragma message 参考链接 自定义编译信息输出到终端(一般和#if配合使用&#…...

黑马JVM总结(三十二)

(1)类加载器-线程上下文1 使用的应用程序类加载器来完成类的加载,不是用的启动类加载器,jdk在某些情况下要打破,双亲委派的模式,有时候需要调用应用程序类加载器来完成类的加载,否则有些类它是找…...

接口自动化测试框架【reudom】

reudom Automated testing framework based on requests and unittest interface. 基于 Unittest 和 Requests 的 接口自动化测试框架 介绍 基于Unittest/Requests的接口自动化测试库 提供脚手架,快速生成接口自动化测试项目。 自动生成HTML测试报告。 支持用例参…...

【数据库问题】删除数据库失败,提示:there is 1 other session using the database

删除数据库失败&#xff0c;提示&#xff1a;there is 1 other session using the database 解决办法&#xff1a; SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE datnametest_database AND pid<>pg_backend_pid(); 使用上述命令先关…...

【技术干货】如何快速创建商用照明 OEM APP?

本文介绍了如何在涂鸦 IoT 平台的 App 工作台上创建一款体验版商照 App、正式版 OEM App、上架 App、以及完成通用配置。 OEM App 开发 创建 App 登录 涂鸦 IoT 平台的 App 页面。 单击 创建APP&#xff0c;选择 商照 APP 进行创建。 在提示框里&#xff0c;完善 App 信息…...

阿里云ModelScope 是一个“模型即服务”(MaaS)平台

简介 项目地址&#xff1a;https://github.com/modelscope/modelscope/tree/master ModelScope 是一个“模型即服务”(MaaS)平台&#xff0c;旨在汇集来自AI社区的最先进的机器学习模型&#xff0c;并简化在实际应用中使用AI模型的流程。ModelScope库使开发人员能够通过丰富的…...

Nodejs内置模块process

文章目录 内置模块process写在前面1. arch()2. cwd()3. argv4. memoryUsage()5. exit()6. kill()7. env【最常用】 内置模块process 写在前面 process是Nodejs操作当前进程和控制当前进程的API&#xff0c;并且是挂载到globalThis下面的全局API。 下面是process的一些常用AP…...

Vue2 修改了数组哪些方法,为什么

1、Vue2 修改了以下数组方法 push()、pop()、shift()、unshift()、splice()、sort()、reverse() 这些方法都是可以改变原数组的。 为了实现数据响应式更新&#xff0c;Vue2 在这些方法中添加了特定的代码&#xff0c;以便通知 Vue 视图更新数据 举个例子&#xff0c;当我们…...

均值滤波算法及例程

均值滤波算法是一种简单的图像滤波方法&#xff0c;它使用一个固定大小的滤波器来平滑图像。该滤波器由一个矩形的窗口组成&#xff0c;窗口中的像素值取平均值作为中心像素的新值。以下是均值滤波算法的步骤&#xff1a; 定义滤波器的大小&#xff08;窗口大小&#xff09;&a…...

拥抱产业发展机遇 兑现5G商业价值

[阿联酋&#xff0c;迪拜&#xff0c;2023年10月10日] 今天&#xff0c;以“将5G-A带入现实”为主题的2023全球移动宽带论坛在迪拜举行。本次大会上&#xff0c;华为轮值董事长胡厚崑与GSMA总干事Mats Granryd围绕“5G产业进程与发展”连线对话。胡厚崑指出&#xff0c;“技术发…...

STM32CubeIDE工程复制粘贴保姆级教程:告别重复配置,5分钟搞定新项目

STM32CubeIDE工程复制粘贴保姆级教程&#xff1a;告别重复配置&#xff0c;5分钟搞定新项目 每次启动新项目时&#xff0c;你是否还在重复那些繁琐的初始化步骤&#xff1f;从零开始配置时钟树、外设参数、中断优先级&#xff0c;不仅耗时费力&#xff0c;还容易出错。对于经验…...

Rust Web开发:ActixWeb实战指南

1. 为什么选择ActixWeb进行Rust Web开发 我第一次接触ActixWeb是在三年前的一个电商项目里&#xff0c;当时团队需要处理每秒上万次的库存查询请求。测试了多个Rust框架后&#xff0c;ActixWeb凭借其卓越的性能表现脱颖而出——在同等硬件条件下&#xff0c;它的QPS&#xff08…...

跨平台部署YOLOv5的路径陷阱:从WindowsPath错误看Python pathlib的兼容性设计

1. 当WindowsPath遇上Linux&#xff1a;YOLOv5部署的路径陷阱 最近帮朋友调试一个YOLOv5模型部署问题&#xff0c;场景特别典型&#xff1a;在Windows训练好的目标检测模型&#xff0c;迁移到Linux服务器就报错。错误信息直指一个看似简单的路径问题&#xff1a;"NotImple…...

软件实施交付转运维学习第三天:Linux系统命令基础(部分)

从实施到运维的蜕变之路&#xff0c;掌握命令就是掌握Linux的灵魂写在前面作为一名从软件实施交付转向运维的工程师&#xff0c;我深刻体会到&#xff1a;Linux命令不仅仅是简单的指令&#xff0c;更是与操作系统对话的语言。当我们站在实施和运维的交界处&#xff0c;掌握Linu…...

千问3.5-2B网页交互教程:上传→提问→获取JSON接口响应,全流程代码实例

千问3.5-2B网页交互教程&#xff1a;上传→提问→获取JSON接口响应&#xff0c;全流程代码实例 1. 快速了解千问3.5-2B 千问3.5-2B是Qwen系列的小型视觉语言模型&#xff0c;它能够同时理解图片和文字。想象一下&#xff0c;你有一个既能看图又能聊天的智能助手——这就是千问…...

手机拍照更快了?聊聊MIPI CSI-2的LRTE技术如何优化图像传感器数据传输

手机拍照更快了&#xff1f;揭秘MIPI CSI-2的LRTE技术如何重塑图像传输效率 按下快门的那一刻&#xff0c;你是否曾因手机短暂的"卡顿"而错过精彩瞬间&#xff1f;这背后隐藏着图像传感器与处理器之间数据传输的效率瓶颈。MIPI联盟推出的CSI-2协议最新特性——延迟减…...

从真题到实战:拆解CCF-GESP C++三级核心考点与避坑指南

1. 数据编码&#xff1a;从ASCII到UTF-8的实战解析 在CCF-GESP C三级考试中&#xff0c;数据编码是必考的核心知识点。很多同学第一次接触这个概念时容易懵圈——不就是存个字符吗&#xff0c;怎么还有这么多门道&#xff1f;其实理解编码就像学外语&#xff0c;ASCII是基础英语…...

ImageSearch:5分钟掌握本地千万级图片搜索的终极指南

ImageSearch&#xff1a;5分钟掌握本地千万级图片搜索的终极指南 【免费下载链接】ImageSearch 基于.NET8的本地硬盘千万级图库以图搜图案例Demo和图片exif信息移除小工具分享 项目地址: https://gitcode.com/gh_mirrors/im/ImageSearch 你是否曾在电脑里堆积如山的照片…...

Verilog仿真踩坑记:为什么你的测试用例‘通过’了,但电路其实是错的?(附X态检测代码)

Verilog仿真中的X态陷阱&#xff1a;如何避免“虚假通过”的致命错误 数字电路仿真中&#xff0c;最危险的场景莫过于测试结果显示“Passed”&#xff0c;但实际芯片却存在严重功能缺陷。这种“虚假通过”现象往往源于Verilog中X态&#xff08;未知状态&#xff09;的隐蔽特性…...

探索基于V2G技术的电动汽车车载充放电机Matlab仿真模型

基于V2G技术的电动汽车车载充放电机matlab仿真模型最近在研究电动汽车相关技术&#xff0c;V2G&#xff08;Vehicle-to-Grid&#xff09;技术特别吸引我。V2G技术允许电动汽车与电网进行双向能量交换&#xff0c;简单来说&#xff0c;电动汽车不仅能从电网充电&#xff0c;还能…...