您的位置:首页 > 编程语言 > Python开发

使用python连接mysql,实现excel的自动导入导出,取数等

2019-05-13 11:33 1446 查看

mysql作为目前市面上比较流行的数据库,是如何与python交互的呢?
如何将mysql的数据导入excel呢?
如何将excel的数据导入mysql呢?
以上就是本文将解决的几个问题。

import pandas as pd
from sqlalchemy import create_engine
import pymysql
pd.set_option('display.max_rows', None)
pd.set_option('max_colwidth',100)
class mysqlhelper:
writenum=0 #写入的次数

def __init__(self,user_name,password,database): #初始化引擎,输入用户名,密码,使用的数据库
self.yinqingword=create_engine('mysql+pymysql://'+user_name+':'+password+'@localhost:3306/'+database)

def readmysql(self,sql): #读取一个sql语句,返回一个pandas的表
self.df = pd.read_sql_query(sql, self.yinqingword)
return self.df

def writemysql(self,aim_doc,header,sheet_name):
#从excel中,读取数据。
# aim_doc 为excel文件的地址,记得要转义;header 从第几行开始读取 从0开始;sheet_name 在数据库的表名
self.writenum+=1
self.wenjian = pd.read_excel(aim_doc,sheet_name='Sheet1',header=header)
self.wenjian.to_sql(sheet_name, self.yinqingword, index=False,if_exists='append')
print('have writed %d' % self.writenum)

def __iter__(self):
return self

def saveexcel(self,sql): #使用sql语句,导出数据,格式为excel文件,文件名testsql
df=self.readmysql(sql=sql)
df.to_excel(index=False,excel_writer=r'C:\Users\alanqiu\PycharmProjects\untitled\venv\testsql1.xlsx') #这里按照需求改成你需要的路径。

举个使用的例子。
a=mysqlhelper(user_name=‘root’,password=‘123’,database=‘test1’)

a.writemysql(aim_doc=r'd\汇总.xlsx',header=2,sheet_name='p99')
#将路径d\汇总.xlsx的文件导入mysql中,从excel第二行为数据表,导入的mysql的表名为p99。

a.readmysql("select * from p99")
#读取p99表的所有的数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐