如何解决 pandas 读取大 csv 文件时的内存问题

2024-04-19

我有一个 100GB 的 csv 文件,其中有数百万行。我需要在 pandas 数据框中一次读取 10,000 行,并将其分块写入 SQL 服务器。

我按照建议使用了 chunksize 以及 iteartorhttp://pandas-docs.github.io/pandas-docs-travis/io.html#iteating-through-files-chunk-by-chunk http://pandas-docs.github.io/pandas-docs-travis/io.html#iterating-through-files-chunk-by-chunk,并经历了许多类似的问题,但我仍然遇到内存不足的错误。

您能建议一个代码来迭代读取 pandas 数据框中非常大的 csv 文件吗?


Demo:

for chunk in pd.read_csv(filename, chunksize=10**5):
    chunk.to_sql('table_name', conn, if_exists='append')

where conn是一个 SQLAlchemy 引擎(由sqlalchemy.create_engine(...))

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

如何解决 pandas 读取大 csv 文件时的内存问题 的相关文章

  • 创建圆形图像 PIL Tkinter

    Currently I have a zoom feature in my application that works very well however I d like the actual zoom box to be a circ
  • 有条件填写 pandas 数据框

    我有一个数据框df列中包含浮点值A 我想添加另一列B这样 B 0 A 0 for i gt 0 B i if np isnan A i then A i else Step3 B i if abs B i 1 A i B i 1 lt 0
  • Django 如何从 ManyToManyField 序列化并列出全部

    我正在使用 Django 1 9 1 开发移动应用程序后端 我实现了关注者模型 现在我想列出用户的所有关注者 但目前我不得不这样做 我还使用 Django Rest 框架 这是我的 UserProfile 模型 class UserProf
  • Python 使用 M2Crypto 通过 S/MIME 对消息进行签名

    我现在花了几个小时 但找不到我的错误 我想要一个简单的例程来创建 S MIME 签名消息 稍后可以与 smtplib 一起使用 这是我到目前为止所拥有的 usr bin python2 7 coding utf 8 from future
  • 将 matplotlib png 转换为 base64 以在 html 模板中查看

    背景 你好 我正在尝试制作一个简单的网络应用程序 按照教程计算阻尼振动方程 并将结果的 png 返回到 html 页面 然后将其转换为 Base64 字符串 Problem 该应用程序运行正常 只是在计算结果时返回损坏的图像图标 可能是因为
  • 对图像使用 Pixellib 自定义训练时出现 input_image 元形状错误

    我正在使用 Pixellib 来训练自定义图像实例分割 我创建了一个数据集 可以在下面的链接中看到 数据集 https drive google com drive folders 1MjpDNZtzGRNxEtCDcTmrjUuB1ics
  • Pyinstaller --onefile 警告文件已存在但不应存在

    跑步时Pyinstaller onefile 并开始得到结果 exe 会出现多个弹出窗口 并显示以下警告 WARNING file already exists but should not C Users myuser AppData L
  • 在ansible中合并字典

    我目前正在构建一个使用 ansible 安装 PHP 的角色 并且在合并字典时遇到一些困难 我尝试了多种方法来做到这一点 但我无法让它像我想要的那样工作 A vars file my default values key value my
  • 如何使用 jira-python 设置 fixVersions 字段

    我正在尝试使用 jira python 模块 http jira python readthedocs org en latest 更新现有的 JIRA 具体来说 我正在尝试设置问题的fixesVersion 列表 我已经尝试了一段时间但没
  • Floyd-Warshall 算法:获取最短路径

    假设一个图由一个表示n x n维数邻接矩阵 我知道如何获得所有对的最短路径矩阵 但我想知道有没有办法追踪所有最短路径 Blow是python代码实现 v len graph for k in range 0 v for i in range
  • 管理文件字段当前 url 不正确

    在 Django 管理中 只要有 FileField 编辑页面上就会有一个 当前 框 其中包含指向当前文件的超链接 但是 此链接会附加到当前页面 url 因此会导致 404 因为不存在这样的页面 例如 http 127 0 0 1 8000
  • 请求response.iter_content()获取不完整的文件(1024MB而不是1.5GB)?

    您好 我一直在使用此代码片段从网站下载文件 到目前为止 小于 1GB 的文件都很好 但我注意到 1 5GB 文件不完整 s is requests session object r s get fileUrl headers headers
  • 使用 Flask-SQLAlchemy 进行多对多多数据库连接

    我正在尝试使这个多对多联接与 Flask SQLAlchemy 和两个 MySQL 数据库一起工作 并且它非常接近 只是它为联接表使用了错误的数据库 这是基础知识 我有main db and vendor db 表格设置为main db u
  • Jupyter Notebook 中的多处理与线程

    我试图测试这个例子here https ipywidgets readthedocs io en stable examples Widget 20Asynchronous html将其从线程更改为多处理 在 jupyter Noteboo
  • 在 Tensorflow 2.0 中的简单 LSTM 层之上添加 Attention

    我有一个由一个 LSTM 和两个 Dense 层组成的简单网络 如下所示 model tf keras Sequential model add layers LSTM 20 input shape train X shape 1 trai
  • 测试中的模型 - Django 1.7 问题

    我正在尝试将我的项目移植为使用 Django 1 7 除了一件事之外 一切都很好 测试文件夹内的模型 Django 1 7 新迁移在内部运行 migrate 命令 在运行syncdb之前 这意味着如果模型未包含在迁移中 它将不会填充到数据库
  • Jinja2中获取请求参数

    如何检索请求参数a在 Jinja2 模板中 http foo bar a 1 我这个答案有点晚了 但其他解决方案并没有真正考虑到您对 Flask 的使用 事实上 您将 Flask 与 Jinja2 一起使用 这使得您的情况与其他框架有点不同
  • 如何让你的精灵在pygame中跳跃

    目前我已经制作了一个平台游戏 可以左右移动我的角色 他从地上开始 关于如何让他跳的任何想法 因为我不明白 目前 如果我按住向上键 我的玩家精灵将连续向上移动 或者如果我按下它 我的玩家精灵将向上移动并保持向上 我想找个办法远离他 让我重新跌
  • 使 matplotlib 图形默认看起来像 R?

    Is there a way to make matplotlib behave identically to R or almost like R in terms of plotting defaults For example R t
  • 如何使用 Python 将我的 GoPro Hero 4 相机直播连接到 openCV?

    我在尝试从我的新 GoPro Hero 4 相机捕获实时流并使用 openCV 对其进行一些图像处理时遇到麻烦 这是我的试用 创建的窗口上没有显示任何内容 import cv2 import argparse import time imp

随机推荐

  • 如何在此上下文中使用 WebClient.DownloadDataAsync() 方法?

    我的计划是让用户在我的程序中写下电影标题 我的程序将异步提取适当的信息 这样 UI 就不会冻结 这是代码 public class IMDB WebClient WebClientX new WebClient byte Buffer nu
  • Drop() 被 Sortable/Droppable 调用两次

    我这里有这段代码 但我有两个问题 在接收函数中 我们如何获取刚刚放入可排序的元素 不是用来放置新的那个 而是实际放入列表中的那个 由于我找不到它 我决定使用 drop 函数 但现在 为什么该函数被调用两次 我不想那样 sortable dr
  • x86 分页如何工作?

    这个问题旨在填补有关该主题的优质免费信息的真空 我相信一个好的答案将适合一个大的 SO 答案 或者至少适合几个答案 主要目标是为初学者提供足够的信息 以便他们可以自己阅读本手册 并能够理解与分页相关的基本操作系统概念 建议指南 answer
  • 如何将库项目中的 ASP.NET Core 3.0 类型用于共享控制器、中间件等?

    虽然可以通过 NuGet 使用 ASP NET Core 2 2 版本来为共享控制器 中间件等创建库项目 但如何创建能够使用 ASP NET Core 3 0 类型的库 对于包含视图的项目 有一个 Razor 类库 razorclassli
  • Java RMI:连接被拒绝

    我为RMI的客户端编写了以下代码 但得到 java rmi ConnectException Connection refused to host localhost nested exception is java net Connect
  • Vue.js 在组件中使用本地 javascript 文件函数:Uncaught TypeError: __WEBPACK_IMPORTED_MODULE_0__.writeSomething is not a function

    我正在尝试将本地 JS 文件导入到 Vue 应用程序中的单个文件组件中 我的应用程序是由 vue CLI 版本 3 8 2 生成的脚手架 这是我的相关代码片段 应用程序中的所有其他代码与生成的代码相同 path to app vue src
  • Lumenworks Fast Csv Reader - 由于引号字符,读取制表符分隔文件时出现异常错误

    我正在使用 Lumenworks Fast CsvReader 在读取 Kelley Blue Book 的文件时发生异常错误 CSV 似乎在位置 1169 处的记录 1281 字段 5 附近已损坏 该文件以制表符分隔 在那里我发现使用了双
  • Java Char 到其 unicode 十六进制字符串表示形式,反之亦然

    我需要将Java字符的十六进制代码生成为字符串 并稍后再次解析这些字符串 我发现here https stackoverflow com questions 2126378 java convert string uffff into ch
  • 如何在 Vue.js 插槽范围内传递方法

    我在 vuejs 中使用插槽范围 效果很好 我可以将任何我想要的东西传递到插槽中 如下所示
  • pandas中groupby后按条件计数

    df pd DataFrame id 1 1 1 2 2 2 item 200 200 201 333 333 334 page 1 1 2 3 2 2 我想像这样将 df 转换为 df1 df pd DataFrame id 1 1 2
  • Solaris 9 上的 grep 命令

    我在 Solaris 9 上遇到 grep 命令的奇怪行为 例如 我有一个包含两行的主机文件 1 1 1 1 主机 1 2 3 4 主机 MY 我想 grep 仅包含主机字符串的行 而不是包含主机 MY 的其他行 我用 grep Fxq 主
  • iOS 4 通常向后兼容吗?

    我有以下问题 在不久的将来我需要为iPhone编写一些不是很复杂的应用程序 我目前没有 iPhone 因此我计划购买一部用于测试目的 简而言之 iPhone 4 是否允许我测试为旧版 iOS 版本编写的应用程序 有什么陷阱吗 或者我是否必须
  • 按日期过滤 Pandas 数据框

    我有一个带有 日期 列的 Pandas DataFrame 现在我需要过滤掉 DataFrame 中日期在未来两个月之外的所有行 本质上 我只需要保留接下来两个月内的行 实现这一目标的最佳方法是什么 If 日期列是索引 然后使用 loc 进
  • 与您的操作系统或架构不兼容:[电子邮件受保护]

    我使用的是 Ubuntu 15 04 运行以下命令时 npm install fsevents 我收到以下错误 npm WARN optional Skipping failed optional dependency chokidar f
  • NT 事件日志单条消息大小

    谁能告诉我 Windows NT 日志消息的最大大小是多少 我知道可以将事件日志的最大日志大小从 32 MB 重置 我对 NT 事件日志中单个消息可以保存的内存感兴趣 提前致谢 在 Windows Server 2008 中 单个事件日志条
  • JavaFX 过渡动画等待

    这么快 我正在做一个演示计算机图形绘制方法的程序 我需要创建时间线或操作历史记录 例如 placeVertex x y moveVertex newX newY 等 并迭代 向前和向后 自动或手动 我已经通过使用命令设计模式实现了这一点 但
  • WordPress 动态自定义菜单未显示正确的结果

    我正在创建一个动态自定义菜单 显示特定类别的所有帖子链接 例如侧边栏中的菜单小部件 它应该是动态的 这意味着每当我在该类别中发布帖子时 菜单都应该包含我发布的帖子 而无需我在菜单中物理拖放新帖子 这是我的代码 我想要的帖子的类别 ID 4
  • 在Virtualenv环境中安装python-numpy

    我想在 Virtualenv 环境中安装 python numpy 我的系统是Ubuntu 12 04 我的python是2 7 5 首先我安装了 Virtualenv sudo apt get install python virtual
  • 如何只获取Python函数的返回值?

    我正在尝试通过 Python 学习编程 我想知道是否可以只获取函数的返回值而不获取其其他部分 这是代码 比方说 这是主要功能 variable a 5 while variable a gt 0 input user raw input i
  • 如何解决 pandas 读取大 csv 文件时的内存问题

    我有一个 100GB 的 csv 文件 其中有数百万行 我需要在 pandas 数据框中一次读取 10 000 行 并将其分块写入 SQL 服务器 我按照建议使用了 chunksize 以及 iteartorhttp pandas docs