一说到数据库,一般都会想到那些很专业的数据库,其实Excel本身也可以作为数据库来使用。
11年前,刚工作的我开始接触Excel,我还记得问的同事第一个问题:我写个1,怎么能拉下去的时候变成1、2、3、4、5?
本号之前已经分享过关于如何使用 Python 中的数据处理分析包 pandas 处理 Excel 的数据,本文继续分享一个小案例,此案例源于上周末帮朋友做的一个需求,并且是以 vba 编写解决,后来我用 Python 再解决一次,通过本文作简单分享。
使用Excel的目的是为了处理大量的数据,而学习VBA是为了更方便的处理大量的数据,用的多了就会发现,在使用VBA处理Excel中的数据的时候,总是花很多的精力在处理那些不规则的数据上。
原文在简书上发表,再同步到Excel催化剂微信公众号或其他平台上,文章后续有修改和更新将在简书上操作, 其他平台不作同步修改更新,因此建议阅读其他出处的文章时,尽可能跳转回简书平台上查看。
数组是一种常用的数据结构,可用来存储一组相同类型的数据,你可以将一个数组变量视为一个迷你的电子表格,通过引用数组中的位置来存储或者获取数据。
每当有人发布关于 python 处理 Excel 数据的文章,总会有人只看了标题就评论:
代码和汇总、查找数据等一样,仅仅是修改了sql语句,相比使用字典,代码更加的简单,在需要更换去重字段条件的时候,也更加的方便。
在前一篇文章《基础扩展 | 15:队列》中,我们使用VBA代码实现了队列数据结构,本文将在广度优先搜索中应用队列。因此,本文的基础代码在《基础扩展 | 15:队列》中。
我们在使用VBA处理Excel数据的时候,很多时候就是对数据进行分类汇总、查找等等。一般这种功能都是使用字典来实现,比如汇总数据功能。
程序员头条(ID:CoderTop) 报道 微软正考虑添加 Python 为官方的 Excel 脚本语言 据外媒报道,微软正考虑添加 Python 为官方的一种 Excel 脚本语言,如果获得批准,Excel 用户将能够像目前使用 VBA 脚本一样,使用 Python 脚本与 Excel 文档、数据以及一些 Excel 核心函数进行交互。 📷 目前为止,超过 3883 人赞同将 Python 集成到 Excel 中,成为 VBA 替代品,甚至像单元格函数 functions (=SUM(A1:A2)) 也
说到必需学习的数据工具, Excel 无疑是唯一的答案 , 各种基本操作、函数公式、透视表,这些都是非常好用的功能,加上 vba 可以实现自动化需求。但是 vba 的数据处理能力实在有限,而 Python 之所以在数据领域受宠,很大原因是其有着一些非常好用的库。 ◆ 在数据分析方面,Python实际上已经远远VBA,如果你还不知道如何上手Python处理Excel数据, 博文视点学院特邀 童大谦老师推出一系列视频精讲,帮助小伙伴实现高效的Python自动化办公,其中《用Python实现Excel数据处理自动
JS中的Map和VBA里的字典Dictionary基本上一样的,主要的功能就是保存一对Key-Value的数据,保证Key不重复。
在PowerQuery的数据处理中,有相当多的一些功能使用起来非常方便,对应于企业级的SSIS,反而缺少了这些的灵活性,真正要完全使用SSIS来实现,非常繁琐。如PowerQuery里的逆透视功能,行列转置功能,标题行提升功能等。
记录下自己学习使用VBA实现解压ZIP的过程,主要参考文章: http://www.cnblogs.com/esingchan/p/3958962.html
在Excel开发过程中,大部分时候是和Range单元格区域打交道,在VBA开发中,大家都知道的一点是,不能动不动就去遍历所有单元格,那性能是非常糟糕的,很多时候,是需要把整个单元格区域装入数组中再作处理的。
👆点击“博文视点Broadview”,获取更多书讯 ▊ VBA与Python:当王者荣耀遇到卷王之王 VBA语言是VB的一个子集,具有简单易学、功能强大的特点。 上世纪90年代末至今,VBA语言被大部分主流行业软件用作脚本语言,包括办公软件如Excel、Word、PowerPoint等,GIS软件如ArcGIS、MapInfo、GeoMedia等,CAD软件如AutoCAD、 SolidWorks等,统计软件如SPSS等,甚至连图形软件如PhotoShop、CoralDraw等也使用VBA进行脚本编程。
这是在知乎上看到的一个问题,我试着用VBA来解决。欢迎大家就自已使用Excel中遇到的问题或想要的解决方案提问,我将尽力解答。
字典(Dictionary)是一种通过键(key)和项(item)(注:键和项是字典中的术语)存储唯一项的方法。它是一种基于唯一键存储数据的极好工具,它的强大之处在于可以使用键来存储和合并数据。
对于笔者这样的数据分析工作者来说,对数据库有较深的掌握,当然少不了对SQL查询的深度使用,如果在编程的世界中,可以复用这样的能力,真的是一件多么令人高兴的事情。
上一节我们讨论了 Python 在数据处理上的优势,前后台大概收到的有用评论如下:
比较简单的一段代码,和汇总数据一样,这里只是按照一个条件进行查找,需要按照2个甚至多个条件来查找的时候,需要改动的代码有:
日常工作中经常需要对一系列的表进行合并,或者对一份数据按照某个分类进行拆分,今天我们介绍Python和VBA两种实现方案供大家参考~
当你发现不停的用For循环来处理数据速度慢的受不了了,你肯定会想怎么才能提高一些效率。比如前面我们说到的对比2个表数据,我们是使用For循环去逐个的对比判断,如果能有1个东西让我们可以快速的在一组数据里找到需要的、或者是找不到的时候返回false的话,那我们就不需要用For循环了,那有没有这种东西呢?
Excel(Microsoft office)是现在最常用的办公软件,主要涉及电子表格制作、数据处理、报表输出展示以及更高端的还有金融建模等;我们知道,在需要批处理多个Excel工作表以及工作簿的时候,需要用到一个自动化的利器:VBA。
Excel催化剂已正式在千聊上发布视频,如查阅文章有理解障碍,不妨查看下视频,视频不定期更新,内容丰富,干货满满,有术亦有道!
栈是一种常见的基础数据结构,用来实现后进先出的目的。比如,在桌子上摞了一堆书,最后放的书一定在最上面,最先拿走的也是最上面的书。
在简化程序编写-查找里,已经介绍过了查找数据的方法,里面演示的数据非常简单,数据源是没有重复的。
还是接着上一次的例子,分年龄段统计人数工作完成后,你又接到任务需要将总表根据年龄段拆分为多个分表。
在上一篇文章《基础扩展 | 13. 使用VBA实现栈结构》中,我们使用很简洁的VBA代码就实现了栈数据结构。我们知道,栈以有序的方式来控制数据的输入和输出,新元素只能加到栈顶,也只能取走栈顶元素,这样实现了后进先出的数据结构。
在上一篇38波的开源代码中,大量的json解释的代码,其中用到的是大名顶顶的Newtonsoft.Json类库。
这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理简直是加班族的福音。
Excel中的字典(Dictionary)对大多数人来说都是个谜,即使是有些很熟悉VBA的人,可能对其都还不了解。其实,字典是一个很好的工具,运行快速,可以执行一些很好的计算。
说简单点,VBA 是运行在 Microsoft Office 软件之上,可以用来编写非软件自带的功能的编程语言。Office 软件提供丰富的功能接口,VBA 可以调用它们,实现自定义的需求。基本上,能用鼠标和键盘能做的事情,VBA 也能做。
尽管Excel在职场和学术界非常流行,但对于一些高级的统计分析、数据可视化、大规模数据处理等任务,可能需要更专业的软件或编程语言,如R、Python、SAS或Stata。此外,对于特定的行业或研究领域,可能会有其他更适合的工具和平台。
数组这种数据结构,应该在绝大多数语言都有实现,使用起来直接使用下标就可以获取想要的数据,在编程过程中几乎是必不可少的。
可能这个名字没有听说过,但是只要使用过Windows电脑的,其实都接触过这种结构的文件,只是没有注意到而已。
今天我将带大家分别使用MySQL、Excel、Pandas、VBA和Python来实现这个需求。
我们使用Excel VBA绝大多数情况都是在处理Excel的数据,一般都是直接读取Excel,也就是使用Workbooks.Open,随着VBA使用的深入,我们要处理的数据可能不局限在Excel里,有时候也会需要去读取外部的数据。
Visual Basic for Applications(VBA)是一种事件驱动的编程语言,广泛应用于Microsoft Office应用程序(如Excel、Word和Access)中。它允许用户自动化任务、创建复杂的数据处理流程,并扩展Office应用程序的功能。本文将为您提供VBA教程的概述,涵盖VBA的基本概念、关键知识点以及可能的应用场景。
需要实现这个功能,在VBA里首先想到的应该还是字典,首先将表格2中的字段对应关系记录到字典,然后在表格1基础上增加一列,遍历表格1,利用字典将字段A对应的字段C读取出来即可。
对于大多数人来说,使用Excel来做的工作就是在单元格中输入数据,进行一些格式化制作成报表输出,在这个过程中,可能会使用一些公式,可能会使用图表展现数据,也可能会使用VBA进行一些自动化数据处理工作。
直到 90 年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言——–Visual Basic For Application(VBA),可以认为 VBA 是非常流行的应用程序开发语言VASUAL BASIC 的子集.实际上VBA是”寄生于”VB应用程序的版本.VBA和VB的区别包括如下几个方面:
在Excel中,将数据存储在表中为数据处理提供了极大的方便。表有一些基本的结构规则,例如表的标题必须是唯一的,只允许一个标题行,这使得表与更复杂的工具能够兼容,例如,Power Query、数据透视表和SharePoint使用表作为数据源或输出方式。
如果“a”代表“Apple”,“b”代表“Bilibili”,“c”代表“Coolqi”,……,等等。我们可以在单元格中只输入这些代表字母,而让Excel自动输出完整的单词内容,如下图1所示。
要编写Excel VBA程序,必须知道对象。可以认为,VBA基于面向对象编程,这意味着VBA程序主要是在处理(或操控)对象。因此,我们要掌握ExcelVBA编程,必须理解:
领取专属 10元无门槛券
手把手带您无忧上云