使用golang对excel进行数据读取

2023-11-06

golang对excel进行数据读取

在使用golang对excel进行表格数据读取时,发现已有的方式读取比较麻烦,代码量多。相比python中的pandas比较麻烦,所以对excel数据读取进行了一个简单的封装

1. 导包

执行

go get github.com/gly-hub/excel_utils

进入文件目录执行

go mod init 文件目录名

2.数据操作

直接上代码

package main

import (
	"fmt"

	"github.com/gly-hub/excel_utils"
)

func main() {
	excelpath := "C:/Users/Administrator/Desktop/浙江.xlsx"
	sheet := "Sheet1"
	col := make([]string, 3)
	col[0] = "文件名"
	col[1] = "效力"
	col[2] = "文号"

	col1 := make([]int, 1)
	col1[0] = 0

	if data, err := excel_utils.ReadExcel(excelpath, sheet); err != nil {
		panic(err)
	} else {
		data = data.ValueLoc(col)
		fmt.Println(data)
		fmt.Println(data.ValueIndex(col1))
		fmt.Println(data.RowRange(1, 2))
		fmt.Println(data.Value(1, 2))
		fmt.Println(data.Add(col, 5))
	}
}

这段代码是直接对excel进行数据获取的代码。

方法 参数 返回值 解释
ReadExcel excel路径,sheet名 dataframe 获取excel中的所有数据
ValueLoc 列名数组 dataframe 获取指定列数据
ValueIndex 列序号 dataframe 获取指定序号列数据
RowRange 起始行,结束行 dataframe 获取指定行范围数据
Value 行坐标,列坐标 string 获取指定坐标单元格数据
Add 数据列,指定行 dataframe 将数据插入指定行

其中的dataframe结构体如下:

type DataFrame struct {
	Data   [][]string //excel表二维数据
	ColLen int        //列数
	RowLen int        //行数
}

函数实现方法:golang获取excel中的指定列数据
刚开始学go,主要python,有什么错误,希望各位不吝赐教。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用golang对excel进行数据读取 的相关文章

  • 为什么我的 SQL 占位符没有被替换(使用 Go pq)?

    根据文档 我正在这样做 var thingname string asdf var id int err database QueryRow SELECT id from things where thing thingname Scan
  • 如何将未知字段类型的数据解组为 JSON

    我有这些 结构 type Results struct Gender string json gender Name struct First string json first Last string json last json nam
  • 根据当前工作簿中的匹配值编辑主工作簿中的单元格

    这里的目标是比较两个工作簿之间 A 列中的值 当前工作簿是 xlsm 目标工作簿是 xlsx 如果找到任何匹配项 匹配值同一行的 E 列中的值在目标工作簿中发生更改 在这种情况下 必须将工作簿分开 我决定通过选择当前工作簿 A2 中的第一个
  • 更改列标签?例如:将“A”列更改为“名称”列

    谁能告诉我如何更改列标签 例如 我想将列 A 更改为列 名称 Excel Excel 的版本是什么 一般来说 您无法更改列字母 它们是 Excel 系统的一部分 您可以使用工作表中的一行来输入您正在使用的表格的标题 表标题可以是描述性列名称
  • 从“查找”结果中出现“下标超出范围”错误

    我想在 Excel 工作表中查找一个字符串 Excel 单元格值是使用公式计算的 当我运行这段代码时 Set firstExcel CreateObject Excel application firstExcel Workbooks Op
  • nsq 无法通过连接到 nsqlookupd 来消费消息

    我尝试使用 docker compose 来运行 nsq docker compose yml如下 version 3 services nsqlookupd image nsqio nsq command nsqlookupd ports
  • 我可以根据我正在构建的操作系统导入 Golang 包吗?

    假设我有一个基于哪个操作系统的 go 项目 在某些情况下是哪个发行版 我想使用 Systemd 客户端包 Upstart 客户端包 sysv 客户端包 launchd 客户端包 是否可以有选择地导入每个包 以便我只导入我正在构建的每个操作系
  • 如何模拟“焦点”和“打字”事件

    尝试模拟 onfocus 和打字事件 但它不起作用 Sub Login MyLogin MyPass Dim IEapp As InternetExplorer Dim IeDoc As Object Dim ieTable As Obje
  • xlwings: 删除一个列 | Excel 中的行

    如何删除 Excel 中的一行 wb xw Book Shipment xlsx wb sheets Page1 1 range 1 1 clear clear 用于删除内容 我想删除该行 我很惊讶 clear 函数有效 但 delete
  • Excel 工作簿 - 从 C# 读取速度非常慢?

    正在尝试读取 Excel 工作簿 发现读取 3560 行 7 列的工作表需要很长时间 大约需要 1 分 17 秒 我所做的就是循环遍历整个工作表并将值存储在列表中 这是正常现象 还是我做错了什么 static void Main strin
  • 导出到excel时如何显示前导零?

    我正在通过更改内容类型来创建 Excel 报告 Response ContentType application vnd ms excel 我有包含前导零的值 问题是导出到 Excel 时缺少前导零 e g 000123 gt 123 我知
  • 如何找到特定程序的安装目录?

    我已经成功地编写了一些用于工作的 VBA 宏 这些宏基本上创建了一个数据文件 将其提供给一个程序并对该程序的输出进行后处理 我的问题是程序安装路径是硬编码在宏中的 并且安装在我同事的计算机上可能会有所不同 我首先想到的是 我可以从每个人那里
  • Excel FILTER() 对于空白单元格返回 0

    我怀疑以前有人问过这个问题 但我找不到 FILTER 即使指定了返回字符串 通常也会为空白行返回 0 Using filter 我经常收到空单元格的 0 返回值 假设 A 列中有 6 行数据 abc xyz abc xyz abc If I
  • VBA 有没有办法了解未使用的变量?

    标准 VBA 编辑器中是否有工具 方法或设置来警告已被修改的变量Dim med 但没有被使用 MZ Tools http www mztools com index aspx将搜索您的代码并告诉您哪些内容未被使用 VBA的版本可以找到her
  • SQL Server,插入 Excel“链接服务器”时出现“无效列名”错误

    我有一个简单的 Excel 电子表格文档 运行 Office 2013 我使用 Microsoft Office 15 0 Access 数据库引擎 OLE DB 提供程序 将其用作数据库 我可以使用 MS SQL Server Manag
  • 将包含宏的工作簿复制到不带宏的工作簿

    我能够复制工作簿 复制到所需位置 其中在后台包含宏 该副本还包含相同的宏 我的问题是我不希望这个重复的工作簿包含宏 谁能告诉怎么做吗 先感谢您 将您的工作簿保存为无宏 即简单地保存为 Excel 工作簿 对于我的 Excel 2007 这是
  • 重新插入通道导致死锁

    我有稳定的入站 作业 流 将其输入到无缓冲通道中 我有一个for range循环来迭代项目并处理它们 如果处理该项目失败 我会将项目重新插入通道中 以便稍后重试 问题是当我将项目重新插入通道时 它陷入僵局 我明白为什么会发生这种情况 处理器
  • 在Excel中,我可以使用超链接来运行vba宏吗?

    我有一个包含多行数据的电子表格 我希望能够单击一个单元格 该单元格将使用该行中的数据运行宏 由于行数总是在变化 我认为每行的超链接可能是最好的方法 ROW MeterID Lat Long ReadX ReadY ReadZ CoeffA
  • 使用输入作为显示日期的基础

    我需要一种方法来使用用户窗体上的输入来确定将在输出上显示的日期 这是我的代码 If StatusBox Value lt 23 59 And ShiftCode Value AP Then Cells emptyRow 8 Value Da
  • 我如何以更好的方式编码而不是像这样的VBA编码

    我正在 Excel 中创建一个仪表板 但是我想知道是否有比这更好的编码方式 我想对其进行模块化 而不是这样做以使其更加整洁 Private Sub Afford If af Value True Then af afr Value Shee

随机推荐

  • Qt Creator中,include路径包含过程(或如何找到对应的头文件)

    Qt Creator中 include路径包含过程 或如何找到对应的头文件 利用Qt Creator开发程序时 需要包含利用 include来添加头文件 大家都知道 include lt gt 用于包含标准库头文件 路径在安装软件的incl
  • centos7环境下mysql8的tar包的安装及配置

    内网环境下安装及配置 并将数据保存指向某个文件夹 因为博主这里的数据文件夹是有硬盘挂靠的 centos 7 aliyun CentOS 7 x86 64 DVD 1810 mysql mysql 8 0 17 linux glibc2 12
  • 【题解】闯关游戏

    题目描述 艾伦正在闯关 游戏有N个关卡 按照必须完成的顺序编号为1到N 每个关卡可以用两个参数来描述 prob i 和value i 这些参数的含义如下 每当艾伦尝试闯第i关时 他要么顺利通过 要么 挂掉 他完成该关卡的概率总是prob i
  • Red5应用开发(二)直播串流与录制

    环境 操作系统 win10 1803 Eclipse版本 4 7 3a Oxygen J2EE版本 Red5 Server版本 1 0 8 Release 环境搭建参考前一篇文章 Red5应用开发 一 开发环境搭建 后续不再涉及red5 f
  • 职场加班

    总是听到形形色色的职场加班过劳死的故事 甚至有人写了一篇文章 别让老板杀了你 职场果真那么恐怖吗 其实公司怎么想那是公司的事情 公司有权想着把你干掉 把你榨干 因为这样对于公司最有利 但是 问题在于我们自己怎么想呢 在我看来 在这个社会上混
  • python 泛型函数--singledispatch的使用

    functools singledispatch 将一个函数转变为单一分派的泛型函数 用 singledispatch装饰一个函数 将定义一个泛型函数 注意 我们创建的函数获得分派的依据是第一个参数的类型 from functools im
  • SSM框架整合方案(Spring+SpringMVC+Mybatis)

    一 将application进行纵向切分 每一个配置文件只配置与之相关的Bean 除此之外 项目中通常还有log4j properties SqlMapConfig xml db properties文件 二 各文件配置方案详解 1 日志组
  • IDDPM原理和代码剖析

    前言 Improved Denoising Diffusion Probabilistic Models IDDPM 是上一篇 Denoising Diffusion Probabilistic Models DDPM 的改进工作 之前一些
  • 2022年比若依更香的开源项目

    项目名 cpms 是Concise practical management system 的首字母缩写 意思是 简洁实用的后台管理系统 cpms开源项目目前分为 cpms cloud微服务架构和cpms单体应用架构 cpms cloud是
  • Ant Design:Form表单组件的正确使用

    Form 设置表单初始默认值 initialValues 只在初始化和重置表单时生效 Object 表单字段状态发生改变触发的回调函数 onValuesChange function changedValues allValues Form
  • vue3.2 父子组件传参

    父组件father vue 子组件child vue 1 父传子 把子组件引入到父组件里 定义数据 然后在子组件里使用props接收数据 father vue
  • python已知两边求第三边_探究“已知一个三角形两边及其夹角,求第三边”的问题...

    探究 已知一个三角形两边及其夹角求第三边 的问题 知识点 余弦定理 对应版本章节 本节课是人民教育出版社出版的高中数学 A 版数学必修 5 第一章 解三角 形 第一节第二课时余弦定理的内容 教学目标 1 理解利用向量猜想证明余弦定理 2 掌
  • 下载及安装Python详细步骤

    安装python分三个步骤 下载python 安装python 检查是否安装成功 1 下载Python 1 python下载地址https www python org downloads 2 选择下载的版本 3 点开Download后 找
  • NXP i.MX6ULL 移植python3.9.5

    项目场景 在眺望电子TW AC6G EVM开发板上移植python3 9 5 编译环境及开发包 主机 ubuntu18 04 交叉编译器 arm linux gnueabihf gcc QT5 12 8 qt everywhere open
  • pytorch用LeNet5识别Mnist手写体数据集(训练+预测单张输入图片代码)

    首先 在论文上的LeNet5的结构如下 由于论文的数据集是32x32的 mnist数据集是28x28的 所有只有INPUT变了 其余地方会严格按照LeNet5的结构编写程序 训练代码 import torch import torch nn
  • 搜索学习心得

    在学习了众多搜索的方式后 不由感慨 啊 太巨了 今天huayucaiji我就给大家讲一讲C 搜索的心得吧 深度优先搜索 广度优先搜索 迭代加深搜索 一个一个讲吧 深度优先搜索 深度优先搜索 下简称 深搜 简称DFS 是简洁明了的搜索方式 以
  • (三)字典

    一 什么是 字典 字典是Python语言中唯一的映射类型 它的本质是key和value以及其对应关系的一种集合 一个key可以对应一个多个value 例如以下变量info为字典类型 info name 班长 id 100 sex f add
  • android-WebView加载本地html、本apk内html和远程URL

    WebView 网络视图 能加载显示网页 可以将其视为一个浏览器 它使用了WebKit渲染引擎加载显示网页 实现WebView有以下两种不同的方法 第一种方法的步骤 1 在要Activity中实例化WebView组件 WebView web
  • python爬取数据并将其存入mongodb

    其实很早就想知道如何将爬取到的数据存入数据库 并且实现前后台的交互功能 昨天刚刚看了一集关于爬数据并存数据的视频 今天 在这里总结一下 以下为最终所需要爬取的信息 由于需要爬取所有的二手商品信息 所以以下内容也要爬取到 1 先写一个py文件
  • 使用golang对excel进行数据读取

    golang对excel进行数据读取 在使用golang对excel进行表格数据读取时 发现已有的方式读取比较麻烦 代码量多 相比python中的pandas比较麻烦 所以对excel数据读取进行了一个简单的封装 1 导包 执行 go ge