数据长度超过65536个字符的Pandas数据框to_sql

时间:2019-07-10 00:40:34

标签: python mysql sql pandas dataframe

我有一个Pandas数据框,其中某些列的值大于65536个字符。当我尝试使用df.to_sql(con=engine, name=table_name, if_exists='replace', index=False)将数据导出到MySQL时,它们被截断为65536个字符。

如果列的值大于65536,是否可以将列自动转换为LONGTEXT或BLOB(而不是TEXT),以便表内容不会被截断?

1 个答案:

答案 0 :(得分:0)

这可能是一种解决方法。唯一的事情是您需要具有需要转换为LONGTEXT的列的列表。

from sqlalchemy.dialects.mysql import LONGTEXT
dtype = {
    "long_column_1": LONGTEXT,
    "long_column_2": LONGTEXT
}
pdf.to_sql(con=engine, name=table_name, if_exists='replace', index=False, dtype=dtype)