【发布时间】:2016-12-16 20:14:15
【问题描述】:
我在 pandas df 中有一张桌子
main_id p_x p_y flag score
1 10 20 Y 2.3333
2 20 30 N 1.653
3 39 2 Y 6.56546
1 45 300 Y 2.345
我想把它存储在 mysql 数据库中。
我为此使用sqlalchemy。
from sqlalchemy import create_engine
engine_name = create_engine('mysql+mysqldb://'+username+':'+password+'@'+hostname+'/'+dbname, echo=False)
df.to_sql(name='table_name', con=engine_name, if_exists = 'append', index=False)
它正在我的数据库中成功创建。 但我的主要问题是
当我在 mysql 中做 describe table_name 时。
+---------------------+--------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------------+--------+------+-----+---------+-------+
| main_id | text | YES | | NULL | |
| p_x | text | YES | | NULL | |
| p_y | text | YES | | NULL | |
| flag | text | YES | | NULL | |
| score | double | YES | | NULL | |
+---------------------+--------+------+-----+---------+-------+
该字段的类型为text
但我想要VARCHAR(40) 输入列的main_id p_x p_y flag
有什么办法吗?
【问题讨论】:
标签: python pandas sqlalchemy