首页 > 解决方案 > 将数据框写入 MySQL 数据库

问题描述

我有一个包含两列的数据框,我想将数据框写入数据库,当它到达第九行时,它会抛出一个错误,我不知道为什么。

DataError: (pymysql.err.DataError) (1264, "Out of range value for column 'TGT_ENDBALANCE' at row 9")

这是我的数据框

    GROSS_AMOUNT    TGT_ENDBALANCE
0   0.00    2.982305e+08
1   4.00    3.017238e+09
2   5.00    3.117889e+09
3   0.00    3.446241e+08
4   3.00    2.896071e+09
5   100.00  1.033510e+06
6   0.00    3.676000e+04
7   0.00    2.699448e+09
8   6.00    2.327800e+10
9   1.00    3.011000e+04
10  5.00    2.715292e+09
11  96.00   2.247000e+06
12  5.00    -1.292000e+11
13  10.00   2.707742e+09
14  20.00   2.089900e+05
15  10.00   4.361500e+05
16  5.00    2.918166e+09

df.to_sql(tableName, con=dbConnection, if_exists='replace', index=False,
         dtype={'GROSS_AMOUNT': sqlalchemy.types.NUMERIC(),
                'TGT_ENDBALANCE': sqlalchemy.types.VARCHAR()})

这是我在mysql表中的列

TGT_ENDBALANCE       | varchar(220,0) | YES  |     | NULL

我已将列类型更改为字符串、bigint、varchar 和所有数据类型,但仍然没有运气。

标签: pythonmysqlpandas

解决方案


推荐阅读