首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每个报表总有那么一些重复事(Excel VBA)

工作中,我们经常会制作一些Excel报表,月报周报之类。报表之中有时会有些固定有规律内容,内容可能随月份变化而变化,每次都要填,比较繁琐。这时候使用select case语句可以简化这一过程。...举例: 在某月报中,需要为很多单元格增加批注,1月份时候批注内容是这个样子,2月份又是那个样子,每个月不尽相同。每个月手动写一个批注,再复制到其他单元格比较繁琐。...用以下代码可以将选中单元格一次性全部添加。...比方现在是7月份,会自动case 4 to 11这个部分,执行结果如下: if语句当然也可以实现,只是条件比较多的话建议还是用case 可以发散思维将这种逻辑应用在报表其他方面。...---- 可以看到上面那个批注格式很难看,是Excel默认方框。现在流行iPhone圆要好看一些。 用以下代码可以批量将批注造型变换

63720

Python自动化办公对每个子文件夹Excel表加个表头(Excel同名)

Excel表,这个Excel表只有两列,第一列是经度,第二列是纬度,现在要对每个Excel表加个表头,分别命名为经度,纬度,应该怎么写代码?...需要安装pandas库,可以使用以下命令进行安装: pip install pandas 然后,可以使用以下代码来读取每个Excel表并添加表头: import os import pandas as...) if f.is_dir()] # 遍历每个子文件夹 for subfolder in subfolders: # 获取Excel文件路径 excel_file = os.path.join...然后使用os.scandir()函数获取该文件夹下所有子文件夹路径。接下来,遍历每个子文件夹,获取Excel文件路径。...不过这里有一个问题,这里Excel表格名字是写死,也就是说所以Excel表格名字必须是一样才行,如果是其他名字,那就加不上表头。这个问题,我们留到下篇来看。 三、总结 大家好,我是皮皮。

19060
您找到你想要的搜索结果了吗?
是的
没有找到

Python可迭代对象与迭代对比

迭代对象 iter()函数作用如下: 可迭代对象,就是使用iter()函数判断,满足前面2点对象。 任何Python序列都是可以迭代,因为它们都实现了__getitem__方法。...迭代器 从前面iter()函数作用可以发现,迭代器是从可迭代对象中获取。 如果对象本身是可迭代,就调用__iter__方法获取一个迭代器。...标准迭代器接口有两个方法: 迭代准确定义是:迭代器是这样对象,它实现了无参数__next__方法,返回序列中下一个元素;如果没有元素了,那么抛出StopIteration异常。...Python中迭代器还实现了__iter__方法,因此迭代器也是可以迭代。...从这一点就能清楚看出它们区别了。 需要特别注意是,可迭代对象一定不能是自身迭代器,也就是说,可迭代对象必须实现__iter__方法,但是不能实现__next__方法。

1.6K41

Python自动化办公对每个子文件夹Excel表加个表头(Excel不同名)(下篇)

Excel表,但是这些Excel表只有两列,第一列是经度,第二列是纬度,现在要对每个Excel表加个表头,分别命名为经度,纬度,应该怎么写代码。...具体步骤如下: 首先,需要导入os模块和pandas模块: import os import pandas as pd 然后,可以使用os模块listdir()函数获取文件夹下所有子文件夹,再遍历每个子文件夹...,读取其中所有的Excel表格,对每个表格添加表头并保存。...接下来,遍历每个子文件夹,使用os.scandir()函数获取该子文件夹中所有Excel表格路径,然后使用pandas模块read_excel()函数读取Excel表格。...接着,为Excel表格添加表头,使用to_excel()函数保存Excel表格。最终,每个Excel表格都会被添加表头并保存。 希望这个代码可以满足您需求!

20720

常见ID生成策略 – IdUtil – HutoolID生成工具

本页目录 IdUtil案例 常见ID生成策略 UUID ❄️雪花算法(我觉得了解再多,还得是万能雪花算法❄️) MongoDB唯一主键 Redis自增主键策略 IdUtil案例 演示了:UUID、nanoID...生成工具,就在这里统一搜集整理一些常见ID策略 常见ID生成策略 UUID 案例:144985ec-458d-49c5-8338-ba325eca5322 特点:无序、数字与小写英文、长度36位 缺点...:无序、长度太长,超低概率可能会重复 ❄️雪花算法(我觉得了解再多,还得是万能雪花算法❄️) 特点:纯数字、自增、每秒26万个ID、长度19 雪花算法是推特公司开源工具:想了解前往本站:https:...一个是机器ID,另一个是数据中心ID(两个ID均是数字)。 保证线程安全,务必获取单例对象!上文案例就是单例对象,随便使用!...MongoDB唯一主键 这里是Hutool工具集成MongoDB唯一ID生成,我才了解

8.6K10

Python自动化办公对每个子文件夹Excel表加个表头(Excel不同名且有xls文件)

如果针对子文件夹下不同Excel表名,而且Excel表格类型包括了.xls和.xlsx应该如何处理?要求一步到位。...Desktop\新建文件夹" # 获取所有子文件夹路径 subfolders = [f.path for f in os.scandir(folder_path) if f.is_dir()] # 为每个...Excel表格添加表头并保存 for subfolder in subfolders: # 获取该子文件夹中所有Excel表格路径 excel_paths = [f.path for...接下来,遍历每个子文件夹,使用os.scandir()函数获取该子文件夹中所有Excel表格路径,然后使用pandas模块read_excel()函数读取Excel表格。...接着,为Excel表格添加表头,使用to_excel()函数保存Excel表格。最终,每个Excel表格都会被添加表头并保存。 希望这个代码可以满足您需求!

18240

基于迭代单元除法器基于迭代单元除法器

基于迭代单元除法器 迭代单元 数字信号处理中,有大量算法是基于迭代算法,即下一次运算需要上一次运算结果,将运算部分固化为迭代单元可以将数据处理和流程控制区分,更容易做出时序和面积优化更好硬件描述...,这次将基于迭代单元构造恢复余数和不恢复余数除法器 恢复余数除法器 迭代单元 算法 将除数移位i位 判断位移后除数与余数大小 若位移除数大于余数,则余数输出当前余数,结果输出0;否则输出余数减位移除数...恢复余数除法器cell(来自《基于FPGA数字信号处理》) RTL代码 module restore_cell #( parameter WIDTH = 4, parameter STEP...end endgenerate assign remainder = restore[0].this_remaider[WIDTH - 1:0]; endmodule 不恢复余数除法器 迭代单元...不恢复余数除法器cell(来自《基于FPGA数字信号处理》 RTL代码 module norestore_cell #( parameter WIDTH = 4, parameter

1.9K50

快手刘霁:AI基础能力决定每个公司AI迭代和落地效率丨MEET2020

要点 1、AI最大源动力就是数据。 2、AI模型训练是计算过程,计算效率决定了每个公司训练AI效率。...其实AI最大源动力就是数据,在以前数据没有那么大时候,计算力没有那么高时候,AI想真正发挥作用是比较困难一件事,真正AI爆扩式增长是源于数据增加,快手海量数据为AI落地提供了坚实物质基础...AI模型训练,输入是数据,输出是模型;模型推理是通过模型把数据转化成决策。我们每天有海量数据,无论训练还是推理,本质上都是一个计算过程,而计算效率决定了每个公司AI迭代效率和试错成本。...快手在这方面做了巨大努力和投入,希望能够在基础能力上做足积累和基本功。 我们今年成立了AI平台部,这也是我在领导部门,负责整合AI资源,打造通用AI基础能力,并对基础能力做孵化和迭代。...最后我想用一句话结束我今天报告: 快手,用有温度科技提升每个人独特幸福感,谢谢大家! — 完 —

72410

Python迭代器协议

迭代器是Python中一个高级概念,迭代器是一个实现了迭代器协议对象,那何为迭代器协议呢? 满足下面两个条件就行。...迭代优势有很多: (1)定义了统一访问容器接口,我们可以随时定义自己迭代器,只要实现了迭代器协议就行。...(2)迭代器有惰性求值特性,它进可以在迭代至当前元素时才计算,所以非常适合遍历元素非常多容器,而且更省内存。...占用内存并没有因为元素增多而增加,所以在编写代码时要多多使用迭代器或者迭代协议。...Python中内置了一个iter()函数,可以返回一个迭代器对象,它接受参数是一个实现了__iter__()方法容器(也就是可迭代对象)或者迭代器。

1.1K10

递归和迭代对比

大家好,又见面了,我是你们朋友全栈君。 待到秋来九月八,我花开后百花杀 递归 迭代 特点 递归 程序调用自身编程技巧称为递归(recursion)。...n){ if(n <= 1) return 1; else return n * fact(n - 1); } 迭代 迭代是重复反馈过程活动,其目的通常是为了逼近所需目标或结果...每一次对过程重复称为一次“迭代”,而每一次迭代得到结果会作为下一次迭代初始值。重复执行一系列运算步骤,从前面的量依次求出后面的量过程。...迭代主要思考方式是:循环反馈计算 例如: 求n阶乘 //An highlighted block var foo = 'bar'; int fact1(int n)...那么我们再看一下递归在内存中情况: 我们拿阶乘问题作例子: 在程序递归过程中,每调用一次函数就会创建一个栈帧结构,而在每个栈帧结构中就会创建各自局部变量,就会占用内存,相比于迭代,在内存方面

80410

迭代对象、迭代器、生成器理解

__.Sentence object at 0x102a08fd0> 同时这里实例化对象也是一个序列,所以我们可以通过s[0]这种方式来获取每个元素 我们都知道序列可以迭代,那么序列为啥可以迭代,继续深入理解...,分别通过这两种方式来测试,可以看出,其实这个类是可以迭代,但是通过abc.Iterable方式来判断,确实不可迭代 ?...关于可迭代对象一个小结: 使用iter内置函数可以获取迭代对象,如果对象实现了能返回迭代__iter__方法,那么对象就是可迭代 序列都可以迭代 实现了__getitem__方法,而且其参数是从零开始索引...,这种对象也可以迭代 迭代器 首先我们要明白可迭代对象和迭代器之间关系: Python从可迭代对象中获取迭代器 一个简单例子,当我们循环字符串时候,字符串就是一个可迭代对象,背后就是有迭代器...,如果想要再次迭代,就需要调用iter(...)传入之前构建迭代迭代对象 我们把刚开始写sentence类通过迭代方式来实现,要说是这种写法不符合python习惯做法,这里是为了更好理解迭代器和可迭代对象之间重要区别

1.2K100

c语言函数迭代与递归_递归与迭代

使用迭代来实现斐波那契数列: int fb(n) { if(n <= 2) { return 1; } int n1 = 1, n2 = 1, n3 = 0; int i = 0; for(i...= 3; i <= n; i++) { n3 = n1 + n2; n1 = n2; n2 = n3; } return n3; } 递归和迭代区别: 1.什么是递归 是一种算法思想:是将大问题分解成若干个结构相同子问题...递归有两个过程: 递推 回归 2.什么是迭代 迭代是对递归一种优化,递归将递推过程交给了计算机,让计算机代替人去分析问题。而迭代将递推(归纳抽象解决方案)过程交给 了程序员。...3.递归特点 1.解放了人 2.对栈消耗大 3.算法效率低下,不能过多层递归 4.迭代特点 1.需要人去分析迭代过程 2.减小对栈开销 3.算法效率高 5.什么时候使用递归 1.递归层次不多...2.对于栈消耗不是很大时 6.什么时候使用迭代 如果一个问题,可以使用迭代来实现,就尽量使用迭代

1.1K10

java递归和迭代_Java中迭代与递归

在进行每一步计算时,只要要知道当前结果(product)和i值即可以了。这种计算形式称之为迭代迭代有这样几个条件:1、有一个有初始值变量。2、一个说明变量值如何升级规则。3、一个结束条件。...时间要求随着输入增长呈线性可以叫做线性迭代迭代 VS 递归 比较了两个程序,我们可以发现,他们看起来几乎相同,特别是其数学函数方面。在计算n!时候,他们计算步数都是和n值成正比。...但是,递归就意味着大量函数调用。函数调用局部状态之所以用栈来记录。所以,这样即可能白费大量空间,假如递归太深的话还有可能导致堆栈溢出。 接下来分析迭代。其实,递归都可以用迭代来代替。...但是相对于递归简单易懂,迭代就比较生硬难懂了。尤其是遇到一个比较复杂场景时候。但是,代码难以了解带来有点也比较显著。迭代效率比递归要高,并且在空间消耗上也比较小。...递归中肯定有迭代,但是迭代中不肯定有递归,大部分可以相互转换。 能用迭代不要用递归,递归调用函数不仅白费空间,假如递归太深的话还容易造成堆栈溢出。

2K40

id和instancetype区别

在开发当中,id和instancetype都是我们常见类型,那么这两者有什么异同点呢?...*id; 也就是说,id类型指针指向是objc_object结构体,而objc_object结构体表示就是类对象实例对象,所以id可以表示所有类型实例。...而id既可以用在实例对象初始化方法中表示返回类型,又可以表示各个方法中参数实例类型。也就是说, id 可以在任何地方使用用以表示各种未知类型对象。...* person = [Person person]; 我们发现,使用NSString类型指针指向Person类型对象,当以id作为返回值类型时候,编译通过,因为id可以指向任意类型对象,id...在运行期才会确定对象真实类型;当以instancetype作为返回值类型时候,编译期间会报警告,提示接收对象指针类型不匹配,所以说instancetype比id多了一个在编译期通过编译器检测变量真实类型功能

1.5K10
领券