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

使用多进程库计算科学数据出现内存错误

问题背景我经常使用爬虫来做数据抓取,多线程爬虫方案是必不可少的,正如我在使用 Python 进行科学计算,需要处理大量存储在 CSV 文件中的数据。...由于每个处理过程需要很长时间才能完成,而您拥有多核处理器,所以您尝试使用多进程库中的 Pool 方法来提高计算效率。...但是,当您尝试处理 500 个元素,每个元素大小为 400 x 400 ,在调用 get() 时会收到内存错误。...当您尝试处理较大的数据,这些列表可能变得非常大,从而导致内存不足。为了解决此问题,您需要避免在内存中保存完整的列表。您可以使用多进程库中的 imap() 方法来实现这一点。.../CSV/RotationalFree/rotational_free_x_'+str(sample)+'.csv') pool.close() pool.join()通过使用这种方法,您可以避免出现内存错误

10910

Excel编程周末速成班第24课:调试和发布应用程序

同样,如果用于某些数值计算的代码产生不正确的结果,则也将其视为bug。由于实际上存在无限数量的潜在bug,因此无法列出或描述Excel程序中可能出现错误。...该语句生效,必须显式声明程序中的每个变量。如果尝试使用未声明的变量,则VBA会显示一条错误消息。这样可以防止漏掉拼写错误的变量名。...仅在确实需要使用全局变量和公共变量。尽管这种类型的变量似乎可以简化某些编程任务,但它们容易出现问题。几乎所有需要全局变量或公共变量的情况都可以使用过程参数和函数返回值进行处理。...必要,请确保对数字变量使用浮点数据类型。在某些情况下使用整数类型可能会导致舍入错误和bugs。 调试工具 几乎所有bugs都是由两个因素导致的——单独工作或组合工作: 程序执行接收到错误的路径。...要点回顾 本课程向你展示了如何使用VBA的调试工具,并探讨了发布Excel应用程序时涉及的因素。 程序bug是使程序无法正确运行的代码错误

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

Excel VBA解读(134): 使用Excel函数提高自定义函数的效率

本文将介绍在自定义函数中最有效的方式是使用Excel内置函数。 线性插值是一种常用技术,用来查找缺失值或者计算两个值之间的值。例如下表: ?...这个自定义函数计算速度已经很快了。然而,还可以更快! 仔细分析这个自定义函数代码,实际的计算使用2行数据,但要获得这2行数据必须将所有数据导入到数组并在第1列执行线性查找。...其差别主要在于错误处理(例如,当在完全匹配选项找不到完全匹配项): Application.Match返回包含错误的Variant型值,允许使用IsError: If IsError(Application.Match...) Application.WorksheetFunction.Match触发VBA错误,需要On Error语句处理。...小结:唯一比将所有数据一次性传递到VBA中更快的方法是,使用Excel函数且仅传递给该函数所需的最少数据。

3K30

Excel VBA编程

数组的存取 当将Excel表中的数据传递给数组,默认建立的是一个二维数组,因此在取数组的值,需要传递两个数值进去,如果只传入一个数组,会出现下标越界的警告。...,都应该将最后的计算结果保存在过程名称中,这相当于其他语言中的函数return内容 使用自己定义的函数 在Excel使用: 如果定义的函数没有被定义为私有过程,那么我们可以通过【插入函数】在Excel...中执行某些操作Excel会显示一个警告框,让我们确定是否执行这些操作。...标签告诉VBA,当程序运行过程中晕倒运行时错误时,跳转到标签所在行的代码继续执行程序,实际上就是让程序跳过出错的代码,从另一个地方重新开始执行程序。...On Error GoTo 0语句后,将关闭对程序中运行时错误的捕捉,如果程序在On Error GoTo 0语句后出现运行错误,将不会被捕捉到 Sub test() On Error GoTo

44.9K21

Excel编程周末速成班第26课:处理运行时错误

错误不同,bug不会阻止程序运行。 语法错误VBA语法中的错误VBA编辑器会在你编写代码捕获并标记语法错误,因此它们永远不会影响程序执行。...当你尝试使用尚未初始化的对象变量(即,该对象尚未实例化),会发生另一个与代码相关的常见错误。...执行数学计算的过程应注意溢出和零除错误,但是该过程可以忽略与文件相关的错误,因为在该过程执行期间它们不会发生。 在VBA程序中,过程通常会调用其他过程。...当无法修复错误条件但仍可以执行其余过程代码使用ResumeNext。 Resume label。使用标签标识的语句(必须在同一过程中)恢复执行。...4.没有错误发生,Err.Number属性的值是什么? 5.在错误处理代码中,如何使用引起错误的语句恢复程序执行

6.7K30

个人工作管理系统开发手记2:查找并获取相应的信息

标签:VBAExcel公式,个人工作管理系统 今天有点空闲时间,正好完善自己的个人工作管理系统,主要完善的功能就是在“说明”工作表中查找并将相应的内容输入到“目录”工作表中,以便直观地看出各分类的代表的意思...$B:$B),2) 这样,使用名称动态定义了单元格区域,当在其中增加数据,名称会自动扩展。 现在,我需要将其中的值获取到“目录”工作表中相应的分类下。 有很多种方法可以实现。...然而,如果分类未定义说明,则有可能出现错误,此时,可以使用IFERROR函数,如下图3所示。...图3 上述都是手动输入公式,其实,可以使用VBA来自动输入公式,其代码如下: Sub GetCatgoryInfo() Dim lLastRow As Long Dim startRow...Excel公式,可以使用VBA的Find方法来实现,代码如下: Sub GetCategoryInfoBackup() Dim lLastRow As Long Dim startRow

66640

递归编程

学习Excel技术,关注微信公众号: excelperfect 递归编程是一种强大的编程技术,可以极大地简化一些编程任务或者完成一些其他方式无法完成的任务。...注意,在递归编程,必须小心构建代码,以便在满足某些条件正确终止程序。在Fact函数过程中,我们在N小于或等于1结束递归调用。...你的递归代码必须具有某种终止递归调用的转义逻辑,如果没有这种转义逻辑,代码将不断循环,直到 VBA 运行时因堆栈空间不足错误而中止处理。...注意,你无法使用常规错误捕获来捕获堆栈空间外错误,这被称为不可捕获的错误,将立即终止所有VBA代码的执行,且不能从无法捕获的错误中恢复。...该函数将继续不受限制地调用自身,直到VBA运行时中止过程执行序列。 示例:列出文件夹及子文件夹 下面的代码在工作表中列出指定文件夹中的所有子文件夹。

75630

《Python for Excel》读书笔记连载1:为什么为Excel选择Python?

与你手工操作Excel电子表格相比,自动化消除了人为错误的风险,并允许你将更多的时间花在更高效的任务上。你可以考虑VBA,也可以考虑Python,特别是对于数据量大和公式多的工作簿。...2005年,当基于数组的计算和线性代数包NumPy首次发布,Python开始成为科学计算的一个重要替代品。NumPy组合了两个先前的包,因此将围绕科学计算的所有开发工作简化为一个项目。...测试 当告诉Excel开发人员测试他们的工作簿,他们很可能会执行一些随机检查:单击一个按钮,查看宏是否仍然执行它应该执行的操作,或者更改一些输入,并检查输出是否合理。...然而,这是一种危险的策略:Excel使引入难以发现的错误变得容易。例如,可以使用硬编码值覆盖公式,或者忘记调整隐藏列中的公式。 当告诉专业软件开发人员测试他们的代码,他们会编写单元测试。...加载数据后,你可以执行额外的步骤来清理和操作数据,使其以Excel中可用的形式出现。例如,你可以将一列拆分为两列,合并两个表,或者对数据进行筛选和分组。

5.2K20

Excel 宏编程的常用代码

Excel 宏编程的常用代码 我们常用Excel统计一些数据,如果善用VBA,就能自动做出各种复杂的报表,懒人就是追求一劳永逸!...强制声明变量 Option Explicit 说明:该语句必在任何过程之前出现在模块中。 声明常数 用来代替文字值。 Const ‘ 常数的默认状态是 Private。...,执行该段代码,你就可以将连在一起的一片数据全部选中。...(1 , 0).Select’当前单元格向下移动一格 ActiveCell.Offset(-1 , 0).Select’当前单元格向上移动一格 end sub 如果上述程序产生错误那是因为单元格不能移动...,为了解除上述错误,我们可以往 sub my_offset 之下加一段代码 on error resume next 注意以下代码都不再添加 sub “代码名称” 和end sub请自己添加!

2.4K10

啰哩啰嗦地讲透VBA中引用单元格区域的18个有用方法--Cell属性和Offset属性

使用Range.Cells属性相对于单元格区域引用单个单元格的替代语法 回顾一下替代语法: 表达式.Cells(单元格索引) 此时,单元格区域内的每个单元格都被分配一个数字编号;分配编号执行上面描述的相同的规则...当使用VBA执行某些工作,Cells属性和将变量用作参数的功能非常有用,常见的情形就是这些工作要使用循环。...如果Range.Offset属性用于尝试返回不存在的单元格,则会生成错误。...因此产生错误。...为什么应该学会使用Range.Offset属性引用Range对象 Range.Offset属性在下列情形通常最有用: 1.使用变量而不是实际的数字作为参数 2.循环过程 录制宏使用相对引用时,宏录制器也通常使用

3.1K40

EXCEL VBA开始,入门业务自动化编程

个人私见,所谓编程,实际上就是将人的意图和命令,用某种程序语言传达给计算机,并让计算机能够如期运转的行为。 程序其实不光能通过文字编写,现在也出现了可以使用图画来进行编写的工具。...图7 如图设置完毕后,打开包含宏的工作簿宏是被禁用的;如果确认宏的安全性没有问题,用上面图5图6的方法再启用宏就可以了。 举例创建一个最简单Excel宏 现在我们尝试着创建一个具体的宏出来。...(当然,是使用编程语言来描述的)(图11) 图11 图12 执行Excel宏命令的3种方法 现在我们开始尝试执行一下宏命令。 单击[开发工具]选项卡中的宏,就会打开宏命令对话框。...选择想要执行的宏「复制粘贴」后,单击[执行]按钮(图13)。 图13 你会发现,宏命令开始执行,数据被复制粘贴了。见图14 图14 频繁使用宏命令,每次都要从「宏一览」中执行是很麻烦的。...下一篇中,我们会开始讲解Excel VBA的基础知识。 可能会出现编程的用语,我会尽量给大家解说明白。 敬请关注。

17.5K111

Excel是世界上最危险的软件?

而正是这个模型,让它出现了震惊金融界的巨额亏损。 令人唏嘘的是,摩根大通在事后的调查报告中提到,这个模型的问题竟然和Excel有关: 这个模型用到一系列Excel工作表。...事后调查发现,该模型不仅并未被自动化,还存在其他一些严重错误,比如在Excel工作表中本应该除以平均数,却除以了总和。这些错误导致该模型严重低估了投资组合的实际亏损风险。...对于频出的Excel事故,Excel专家Felix Zumstein在其著作《Excel+Python:飞速搞定数据分析与处理》中总结道:归根结底,Excel在处理如今的海量数据,已经力不从心。...如果把Python用到Excel上,那么你在各方面都能体会到Python带来的好处,无论是自动化Excel,访问、准备数据集,还是执行数据分析和可视化数据。...Python则在科学计算方面极其强大,天生就适合搭配Excel工作。 目前已有将二者结合的一些尝试,xlwings便是其中最流行的Python库。

68820

ExcelVBA从入门到精通——(1)实现第一个VBA程序

如何打开VBA 1、打开“开发工具”功能(第一次使用VBA) 如果你是第一次使用VBA,需要打开“开发工具”功能。...,所以养成良好的编程习惯插入模块 2、 在指定区域编写代码 执行代码 下面三种方法实现的功能相同,无须太纠结,选择最方便的即可 1、F5执行 2、按执行按钮 3、运行——运行子过程 一点小建议——使用“...立即窗口” 如果你用过Rstudio写R代码或者Spyder写Python代码的话,“立即窗口”类似于控制台,能提示代码编译错误和进行实时计算。...1、打开“立即窗口” 视图——立即窗口 2、在立即窗口输入代码直接作用于excel 选中一个单元格,然后在立即窗口输入代码(不必定义Sub过程),敲击回车键执行: 可以看到执行后被选中的单元格出现了你的昵称...写在最后 后续我会详细介绍VBA的语法、函数和数据处理,帮助零基础的朋友实现从VBA入门到精通(精通估计是开玩笑的,能熟练使用VBA完成日常繁琐Excel操作“脚本化”应该是我们的目标。

2.3K10

Excel应用实践03:使用Excel进行个人计划执行记录与统计分析

有些执行得很好,比如每天更新完美Excel微信公众号,坚持每天学习,而有些则还没有开始。是时候该督促自已全面开始了!...于是,制作了一个简单的计划执行情况统计分析表,加上少量的VBA代码,以方便自已每周检视计划的执行情况,提醒自已哪些没做,要赶快补上。 下面,将创建过程与大家分享。...下图1所示为我使用的数据记录表,工作表名“个人计划执行记录”,每天晚上睡觉前或者第二天上午上班前,我会将一天的学习生活情况记录在此。 ?...当统计的次数不符合要求,相应分类的字体会显示红色。 ? 图5 在VBA代码中,使用了高级筛选功能。...图6 代码将筛选出的数据与分类(category)比较,计算相应分类上事项所花的时间及开展的次数,并输入工作表“计划执行统计”中的单元格区域C7:D21。

1.7K20

聊聊我的VBA学习

现在回头想想,虽然我没有计算机知识的基础,但是这种照着书本码代码的学习方法正好非常适合我。看完这本书后,我终于对VBA是有了一定的理解,能够独立的写一些代码了。...就这样,我在工作中不断的应用VBA,也觉得自己的水平在不断的提高。 我又有了觉得自己无所不能的感觉了 !!! 可是使用VBA写程序,除了在Excel用的好之外,似乎其他地方就没什么用了。...于是我尝试着去学点其他东西,那时候应该是2014年左右吧,VB6.0自然首先进入了我的视线,不过那时候网上已经有很多声音说VB6.0不行了,所以我也没能坚持多久。...不知道从什么时候开始,我逐渐感觉自己写的程序基本是一气呵成(虽然没什么复杂的),而且连错误也很少出现了。这应该就是熟能生巧了,由此我也渐渐觉得自己水平越发精纯了( 其实是不知天高地厚)。...2、走出VBA 在淘宝用Excel VBA卖苦力的这个期间,还尝试去学习了一下C语言,终究还是没能摆脱VB的那种可视化编程,C语言坚持了一段时间后也放弃了。

2.1K90

VBA专题10-6:使用VBA操控Excel界面之执行命令以及激活功能区选项卡的两种方法

下面展示的是执行不在功能区中的命令的另一个示例: '启动计算器程序 Application.CommandBars.ExecuteMso "Calculator" 接下来的示例执行功能区中的命令,它们通过功能区控件图形化呈现...一种是使用SendKeys方法模拟按键,就好像是手工按活动窗口中的键一样;另一种是使用XML和VBA代码。...XML和VBA代码(Excel 2010及以后的版本) 激活功能区选项卡的另一种方法是使用XML和VBA代码。执行下列步骤: 1. 下载CustomUI Editor并安装。 2....在Excel中打开该文件。 由于Initialize过程仍然没有准备执行,因此会出现错误消息,单击“确定”。 10. 按Alt+F11打开VBE。 11....中打开该工作簿执行Initialize过程,获取功能区对象引用赋值给myRibbon对象变量。

3.5K20

Excel 有哪些可能需要熟练掌握而很多人不会的技能?

因为Excel+VBA是图灵完备的,最后辅以Excel简单高效的数据呈现界面,所以在我的心目中,Excel+数组函数+VBA,简直就是网页前端+客户端+后台程序+数据库。...如果没有数组函数,使用sumif等函数也会很复杂。 数组函数之案例2:挑选不重复的值并计算总和 左边的白色区域是原始数据,右边的彩色区域使用了数组函数的输出区域。...通过使用数组函数建模轻松实现如下功能,只要在指定的区域内选择相关值,就能计算值所需的市场规模及潜力,等于使用了SQL语句:select * from table where 条件1=A1 and 条件2...当然有人肯定会说可以使用条件化格式,但是使用VBA保持了最高灵活度和效率。...某些核心人员在多个任务线出现。比如:负责预算的财务人员,几乎要出现在各条线中负责相关预算的审批环节 某些任务线的里程碑是其他任务线里程碑的必要条件而相互关联。

1.5K100

仿Excel的撤销功能

标签:VBA,工作表事件 这是在www.vbaexpress.com中看到的一个示例,实现了自己以前想做而未做的事情。...也就是,模仿Excel的撤销功能,特别是当VBA代码对工作表进行操作后,使用Excel原始的撤销功能是无法恢复的,但可以使用VBA代码来实现,似乎就像Excel的撤销功能一样。...主要思路是使用一个工作表,来记录对工作表所做的修改,如果要撤销这些修改,就从这个工作表取出原来的值来恢复。注意,本文的示例只针对特定区域,且只能撤销两次。...JumpOut处 inst = wsU.Range("A" & wsUend).Value ' 添加到UNDO工作表中的最新实例 On Error GoTo 0 ' 恢复错误处理 For x...或者,在完美Excel微信公众号中发送消息: 仿撤销功能 获取示例工作簿下载链接。 或者,直接到知识星球APP完美Excel社群中下载该工作簿。

9210

VBA编写笔记:常用的对象和方法

Application.Volatile 方法 用于将用户自定义函数标记为易失性函数,无论何时在工作表的任意单元格中进行计算,易失性函数都必须重新进行计算。...非易失性函数只在输入变量改变才重新计算,若不用于计算工作表单元格的用户自定义函数中,则此方法无效。 记录   GetObject获取的表格对象是多应用模式。...Application.DisplayAlerts函数 Application.DisplayAlerts = False,禁用OFFICE出错错误提示。...Application.onTime/onRepeat/onUndo/onKey 到达指定时间、撤销、重做、按下指定按键触发执行指定的操作,可以递归调用自身,实现类似Timer的功能。...Excel 控制word的时候,要注意 录制的宏里的常量是word环境下的,在Excel里要适配一下。 表格插入控件 可插入的控件分为表单控件和activex控件。

1.7K20
领券