pandas连接数据库,从数据库读取数据,将数据保存到数据库连接数据库,从数据库读取数据,将数据保存到数据库
pandas连接数据库连接数据库
import pymysql
from sqlalchemy import create_engine
sql = 'select * from data'
conn = create_engine('mysql+pymysql://root:159951@127.0.0.1:3306/test')
pdata = pd.read_sql(sql,conn)
print(pdata)
下面解释一下上面的代码:
导入两个包 pymysql 和sqlalchemy
create_engine(url)此函数作用是与数据库建立连接,下面主要说一下里面url这个参数:
在这里截取代码中官方给的注释:
The string form of the URL is
``dialect[+driver]://user:password@host/dbname[?key=value..]``, where
``dialect`` is a database name such as ``mysql``, ``oracle``,
``postgresql``, etc., and ``driver`` the name of a DBAPI, such as
``psycopg2``, ``pyodbc``, ``cx_oracle``, etc. Alternatively,
具体意思是 这个url是个字符串型,具体格式是dialect[+driver]: //user:password@host/dbname[?key=value…] dialect :指定连
接数据库类型 我填的是mysql
driver:驱动,也就是数据库连接驱动,python中数据库的连接驱动挺多的,我使用的是pymysql
user:数据库的用户名
password:数据库的密码
host:主机地址 本地通常是localhost 或者127.0.0.1
dname:数据库库名
3.pd.read_sql(sql,conn) 这个就是从数据库读取数据返回值为DataFrame类型的 第一个参数是 sql语句 第二个就是conn连接器
了。
数据保存到数据库中数据保存到数据库中
import pandas as pd
import numpy as np
import pymysql
from sqlalchemy import create_engine
conn = create_engine('mysql+pymysql://root:159951@127.0.0.1:3306/test')
pdata = pd.read_csv('tips.csv')
print(pdata.head(10))
try:
pdata.to_sql('data1',conn,if_exists='replace',index=False)
except:
print('error')
具体解释:
pdata = pd.read_csv(‘文件名称’) 此方法是pandas 读取csv文件函数 返回值类型是DataFrame
pdata.to_sql(‘表名’,连接器,if_exists=’ ‘) if_exists 这个属性有三种值,为fail时,如果次表名重复,则报错;为replace时,
删除已存在的这个表,创建这个表并添加数据 为append 则在该表的最后将数据添加到最后。
控制台输出的数据:
评论0