Python 使用to_sql()方法DataFrame数据存入MySQL数据库
作者:Irain
QQ:2573396010
微信:18802080892
1 引用包:
import pandas
from sqlalchemy import create_engine
2 pandas.read_excel获取数据:
data = pandas.read_excel( 'D:/Information/Working/pycharm/jike/venv/Try/ErShouCheZhiJia/ErSC_Thread/爬取城市/梅州/清理数据/二手车之家的梅州清洗数据.xlsx')
3 create_engine链接MySQL数据库
# create_engine('mysql+pymysql://用户名:密码@主机/库名?charset=utf8')
engine = create_engine('mysql+pymysql://root:123@localhost:3366/car?charset=utf8')
4 pandas.io.sql.to_sql()和DataFrame.to_sql()
4.1 pandas.io.sql.to_sql()把DataFrame数据存入MySQL
pandas.io.sql.to_sql(data, ‘all_car3’, con=engine, schema=‘car’, if_exists=‘fail’ )
data:DataFrame数据
‘all_car3’:存储DataFrame数据的数据表
con=engine:数据库连接引擎
schema=‘car’:数据库名称
if_exists=‘fail’: 如果表存在,则不保存数据。
pandas.io.sql.to_sql(data, 'all_car3', con=engine, schema='car', if_exists='fail' )
4.2 DataFrame.to_sql()把DataFrame数据存入MySQL
DataFrame.to_sql(name, con, schema= if_exists=)
name : sql表(string字符型)
con : SQLAlchemy数据库引擎 or DBAPI2数据库连接
if_exists : {‘fail’, ‘replace’, ‘append’}, 默认情况: ‘fail’
fail: 如果表存在,则不保存数据。
replace: 如果表存在,则删除该表。然后,重新创建新表并插入数据。
append: 如果表存在,则插入数据。如果表不存在,创建新表并插入数据。
data.to_sql( 'car_source', con=engine, if_exists='append') # 数据写入数据库
5 存储结果展示:
6 数据值显示为情况:
自动新建数据表的字段类型是自定义,把Text类型改为字符型varchar
修改后的结果展示:
发布:2020年4月16日