【问题标题】:to_sql out of memory error for string (object) data字符串(对象)数据的 to_sql 内存不足错误
【发布时间】:2020-09-18 17:43:03
【问题描述】:

我正在使用 to_sql 将 pandas 数据帧写入 SQL 服务器数据库。数据框很小(1 列,100 行)。但是,我收到了错误:

 cursor.executemany(statement, parameters)
 MemoryError

列的数据类型是对象(即字符串)。如果我将 dataType 转换为 INT,则代码执行时不会出错。

为什么对象数据会导致内存不足错误,我该如何解决?

【问题讨论】:

    标签: python sql pandas dataframe


    【解决方案1】:

    Python dtype 对象 与字符串相同。 dtype() 是否返回“对象”?您说您的数据有一列 - 它是存储为 numpy 数组还是 DataFrame?如果它真正的DataFrame,使用df.dtypes查看每一列的数据类型(不是整个DataFrame的dtype,它是一个对象)。如果列是一个对象,那么您正试图将每条记录作为 Python 对象传递——因此数据结构根本不是真正的“小”。在这种情况下,转换为 float 或 string 与转换为 int 一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-10
      • 2018-05-05
      • 2011-08-18
      • 1970-01-01
      相关资源
      最近更新 更多