python - 字符串(对象)数据的 to_sql 内存不足错误
问题描述
我正在使用 to_sql 将 pandas 数据框写入 SQL 服务器数据库。数据框很小(1 列,100 行)。但是,我收到错误:
cursor.executemany(statement, parameters)
MemoryError
该列的数据类型是对象(即字符串)。如果我将 dataType 转换为 INT,则代码执行时不会出错。
为什么对象数据会导致内存不足错误,我该如何解决?
解决方案
Python dtype 对象与字符串不同。是否dtype()
返回“对象”?您说您的数据有一列 - 它是存储为 numpy 数组还是 DataFrame?如果真的是DataFrame,使用df.dtypes
查看每一列的数据类型(不是整个DataFrame的dtype,是一个对象)。如果该列是一个对象,那么您正在尝试将每条记录作为 Python 对象传递 - 所以数据结构根本不是真正的“小”。在这种情况下,转换为浮点数或字符串与转换为 int 一样有效。
推荐阅读
- jquery - 在axios中为url添加查询参数
- python - Python 守护程序线程未在 Windows 上退出
- anylogic - 创建代理并添加到总体
- java - Java中的静态变量编译时错误,在C中一次内存分配
- magento - 在 Magento 上开发
- swift - 有没有办法使用 `try?` 获取抛出的错误消息是 Swift 吗?
- apache-kafka - 使用 kafka 和 python-kafka 库无限重新平衡消费者群体?
- java - 如何使用 Servlet 在 Java 应用程序中实现 OAuth2 SSO?
- ruby - HAML if else with table row
- php - Laravel 关系相互匹配(火种案例)