Python memory error(四种解决方案)
昨天, 在读取一个200多M的CSV时, 出现了状况, 竟然是Error这真让我怀疑自己买的电脑有问题, 毕竟电脑是8G内存i7处理器, 我甚至一度怀疑自己装的内存条是假的。下面说一说几个解题的步骤, 一般用下面这些方法, 按顺序去尝试。一、逐行读取如若你运用pd.去读取文件, 将会一回就把数据通通读取至内存当中, 致使内存出现爆掉的情况, 那么有一种想法便是逐行式地来读取它, 代码为如下这般:data [] with open(path, r,encodinggbk,errorsignore) as f: for line in f: data.append(line.split(,)) data pd.DataFrame(data[0:100])这是首先运用with open将csv的每一行转变为一个字符串, 接着鉴于csv是依靠逗号分隔符去划分每列的数据的, 所以借助逗号进行分割就能把这些列都分离开来, 随之把每一行的list放置到一个list里面, 构成二维数组, 进而实现转换。该方法存在些许问题, 其一, 读入之后, 索引以及列名均需再度调整, 其二, 诸多数字的类型产生了改变, 转变为字符串, 其三, 最后一列会将换行符涵盖其中, 需加以替换掉。不清楚究竟是为何, 在运用了此项操作以后, 却依旧出现了error方面的问题。鉴于这些存在的缺点以及遗留下来的问题, 来思考第二种解决方案。二、巧用中的块读取功能进行设计之际, 应该是早就针对这些有可能存在的问题予以考虑了, 所以在read功能里面进行了块读取功能的设计, 也就是说, 不会把所有的数据一次性都放置到内存当中来, 而是分块将其读到内存里面, 最后再把块合并在一起, 形成一个完整的。f open(path) data pd.read_csv(path, sep,,engine python,iteratorTrue) loop True chunkSize 1000 chunks [] index0 while loop: try: print(index) chunk data.get_chunk(chunkSize) chunks.append(chunk) index1 except StopIteration: loop False print(Iteration is stopped.) print(开始合并) data pd.concat(chunks, ignore_index True)上面所涉及到的代码, 做出了这样的规定, 要运用迭代器进行分块读取, 还针对每一块的大小作了规定, 具体来说也就是, 这其实是明示了每个块所容纳行数的指定呀。此种方法具备维持数据类型功能, 且无需自身耗费心力去调剂列名以及 index, 相对便利些。然而, 令人遗憾的是, 在我身上依旧出现了此问题, 要是你运用了这种方法同样出现 error, 那么你能够继续往下瞧。三、扩充虚拟内存在我开展代码运行行动期间察觉到, 于error纠错情况浮现之际, 实际上我的存储器所占比例仅为40%, 因而着实较难出现此错误呀, 所以我进行了一番查证, 寻得有观点提及是存储器受到了约束, 思索着将一部分兴许会对存储器构成限制的程序予以关闭, 扩充虚拟存储器之类的。进行扩大虚拟内存操作的办法, 我的操作系统是win8, 然而想必都是大致相同没有太大差异的:1、打开 控制面板2、找到 系统 这一项3、找到 高级系统设置 这一项4、点击 性能 模块的 设置 按钮5、选择 高级面板在 虚拟内存 模块点击更改6、记住, 别去选中“自动管理所有驱动器的分页文件大小”, 接着挑选出一个驱动器, 简单讲就是一个盘, 再选中自定义大小, 手动输入初始大小以及最大值, 当然啦, 最好别设置得太大, 更改完之后能查看盘的使用状况, 千万不要丢掉过多空间。7、于各项均已妥善设置完毕之后, 要记着去点击那个被称作 “设置” 的选项, 跟进后进行确定的操作, 不然的话便不会产生预期的效果, 最终通过重新启动电脑的方式便可达成目的了。悲摧的是, 我在完成这一步设置之后, 依旧出现了内存错误, 到这一步不存在问题的朋友, 便能够不必去看下面一种解法了, 要是仍然存在问题, 那么可以接着往下看。四、更新和Numpy库为64位要是你所使用的是32位的, 那般你的以及Numpy同样只能是32位的, 如此一来, 当你的内存使用超出2G之际, 便会自动终止内存。察觉到这个错误是由于我留意到报内存溢出错误之时, 我的内存明明表明只用了40 %这么个情况, 并且错误提示处在core里头, 于是去查询了一番, 发觉原来存在这样一个大坑。操作办法是这样的, 首先去核查一下你所使用的那是什么位的, 于shell当中键入内容, 去查看其位数情况。假若是32位的话, 那就重新进行安装操作, 安装一个是64位的, 但是此同时你的库同样得重新予以安装才行。紧接着我执行完毕这一项step往后呵, 问题就得到了无比周全完美的解决了呀五、如果还有内存溢出的错第一种和第二种等四种方法, 依照固定顺序逐个依次地运用, 抵达哪一个步骤错误不再出现了之时便能够终止。当然, 要是你的内存呈现出使用程度达到了99%以上, 那么这就是内存确实不够用, 并非其他方面问题, 要是并非数据量特别庞大之情形, 那便是编写代码之际的习惯方面问题, 尽管存在垃圾回收机制, 然而有时候可能来不及去进行回收, 特别是在循环迭代这些进程当中, 常常会在循环结束了之后才来得及去清理垃圾, 所以要记得及时地将不需要的变量删除掉, 或者借助gc这个用于垃圾回收的库, 如此一来内存自然而然就始终保持清清爽爽的状态~

相关新闻

从架构底层到前沿趋势,构建系统化技术能力前沿

从架构底层到前沿趋势,构建系统化技术能力前沿

Web开发初始是页面制作, 现已演变成综合技术领域, 包含前端工程化、后端架构以及安全防护。从静态页面至交互式应用, 从Web2.0平台化到Web3.0去中心化探索, 该领域一直保持着快速迭代的创新活力。本文会以“系统化能力构建”作为主线, 解析Web开发的底层原理、核心技术、全流程…

2026/9/5 20:52:32 阅读更多 →
电赛E题无刷电机云台控制:从三相半桥到姿态同步的STM32实战

电赛E题无刷电机云台控制:从三相半桥到姿态同步的STM32实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/4 17:58:42 阅读更多 →
技术文章必须可复现:如何补齐缺失的开源项目部署素材

技术文章必须可复现:如何补齐缺失的开源项目部署素材

网络搜索未能返回有效可信的信息,本次收到的“项目标题”是20op24gp24hp24bp 1压抑,等于一串无上下文的字符组合。既没有项目出处,也没有功能说明,更没有环境参数、版本号、模型名称、启动脚本或可验证的测试素材。直接围绕这个标…

2026/9/4 17:57:41 阅读更多 →

最新新闻

Beekeeper Studio 数据库客户端快速上手指南:从 SQL 查询到数据导出

Beekeeper Studio 数据库客户端快速上手指南:从 SQL 查询到数据导出

Beekeeper Studio 数据库客户端快速上手指南:从 SQL 查询到数据导出 【免费下载链接】beekeeper-studio Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows. 项目地址: https://gitcode.com/GitH…

2026/9/5 20:52:26 阅读更多 →
多 Agent 技能复用实战:一套 Skills 跑通 Claude Code、Codex 与 OpenCode

多 Agent 技能复用实战:一套 Skills 跑通 Claude Code、Codex 与 OpenCode

如果你手头同时用着 Claude Code、Codex、OpenCode 这类 AI 编码 Agent,大概率已经遇到过同一个尴尬:在 Claude Code 里精心调好的 Skills,换到 Codex 上完全不认;Codex 能跑的那套自定义指令,OpenCode 读起来又是一脸…

2026/9/5 20:52:25 阅读更多 →
编程兴趣暴涨的背后:从Python入门到作品输出,打造高效学习闭环

编程兴趣暴涨的背后:从Python入门到作品输出,打造高效学习闭环

如果有人告诉我“一个网站让我对编程的兴趣达到了 1000000000%”,我以前会觉得这只是一句夸张的玩笑。但看到越来越多零基础读者晒出自己做的第一个小游戏、第一张动态图画、第一段能“跑起来”的代码时,我发现这种夸张背后有一个很真实的学习规律&#…

2026/9/5 20:52:25 阅读更多 →
从即时反馈到Python实战:编程兴趣与入门练习指南

从即时反馈到Python实战:编程兴趣与入门练习指南

编程兴趣这件事,很少是被“题目太难”真正劝退的,更多是被“没有反馈、看不到进步”慢慢磨光的。最近经常看到类似的分享:有人遇到一个交互式编程学习网站,刷题像闯关一样上瘾,对编程的兴趣直接涨到 1000000000%。这个…

2026/9/5 20:52:25 阅读更多 →
编程兴趣拉满?互动式可视化编程网站为什么让人上瘾

编程兴趣拉满?互动式可视化编程网站为什么让人上瘾

“这个网站让我对编程的兴趣达到 1000000000000000%”——这句话看起来像标题党,但它真正想表达的事情其实不复杂:原来代码不是冷冰冰的黑色终端,而是能让人在几分钟内看到图形、交互动画、游戏反馈的“创造工具”。如果把编程比作一门技能&a…

2026/9/5 20:52:25 阅读更多 →
图RAG烹饪问答系统:Neo4j+Milvus双路召回实践

图RAG烹饪问答系统:Neo4j+Milvus双路召回实践

你有没有遇到过这种情况:想做一道菜,网上搜了一堆菜谱,但每个菜谱都默认你有某种食材或调料,而你想问的是“能不能不放花生”“有没有替代猪肉的办法”“宫保鸡丁和鱼香肉丝都用什么技法”这类需要把菜谱拆开、跨菜谱比较的问题。…

2026/9/5 20:51:24 阅读更多 →

日新闻

基于STA-ResNet的深度学习信道估计:时空注意力与残差网络实战解析

基于STA-ResNet的深度学习信道估计:时空注意力与残差网络实战解析

简介:本资源是一个面向通信工程、信号处理及AI交叉领域研究者的深度学习实践项目,聚焦无线通信系统中信道估计精度提升这一核心难题。项目实现并开源了STA-ResNet模型——一种融合空间注意力、时间注意力与ResNet残差结构的端到端信道估计网络&#xff0…

2026/9/5 0:00:19 阅读更多 →
知识库如何察觉自己“不再为真”?TMS真值维护系统原理与实践

知识库如何察觉自己“不再为真”?TMS真值维护系统原理与实践

如果一个知识库昨天还在告诉你“某个接口会返回某个字段”,今天上游系统悄悄把这个字段下掉了,知识库会怎样?对大部分系统来说,它不会有任何反应。它依然保存着那条知识,依然能被检索到,依然会被下游服务消…

2026/9/5 0:00:19 阅读更多 →
ToolJet深度解析:开源低代码平台核心能力与实战指南

ToolJet深度解析:开源低代码平台核心能力与实战指南

深入解析 ToolJet:开源低代码平台的核心能力与实战上手指南 1. ToolJet 是什么?为什么低代码平台需要重新被审视 2. ToolJet 的核心功能拆解 2.1 可视化应用构建器 2.2 数据源连接与查询管理 2.3 前端组件与事件交互 2.4 权限管理与协作能力 3. 环…

2026/9/5 0:00:19 阅读更多 →

周新闻

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

2026/9/4 10:54:27 阅读更多 →
数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

2026/9/4 14:20:02 阅读更多 →
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

2026/9/4 20:51:50 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/5 5:05:50 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/5 19:29:20 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/4 9:37:01 阅读更多 →