Python 调用MySQL数据库
需要引用的库
import pymysqlfrom matplotlib import pyplot as pltimport numpy as npimport pandas as pdfrom openpyxl import load_workbookimport os
调用MySQL
def read_sql(db,sql):# 1.创建数据库连接conn = pymysql.connect(host = '192.168.0.109',user = 'root',passwd = '123456',port = 3306,#db = 'yiibaidb',charset = 'utf8')# 2.使用cursor()方法获取操作游标cursor = conn.cursor()# 3.编写sql# 4.执行sql命令dbsql = 'use '+ db +';'cursor.execute(dbsql)#sql = 'select month from Department;'cursor.execute(sql)# 5.获取数据data = cursor.fetchall()# 6.关闭cursorcursor.close()# 7.关闭connectionconn.close()return data
调用read_sql文件,将数据格式转换成DataFrame格式
db = 'yiibaidb'sql = 'select revenue,month from Department'data = read_sql(db,sql)header = ['revenue','month']# 转换数据到DataFrame格式df = pd.DataFrame(data,columns= header)
保存数据到Excel文件,使用openpyxl时,保存文件的扩展名时xlsx,不能写成xls
#将数据保存到Excel文件def save_to_xls(data,sheet_name):file_name = 'datasql.xlsx'if not os.path.exists(file_name):ew = pd.ExcelWriter(file_name)data.to_excel(ew,sheet_name = sheet_name)ew.save()else:wb = load_workbook(file_name)ew = pd.ExcelWriter(file_name)ew.book = wbdata.to_excel(ew,sheet_name = sheet_name)ew.save()
保存数据到csv文件
#保存到csv文件df.to_csv('testdata.csv',index=True)#不加index,可设为False
数据绘制曲线
# 将数据绘制曲线x = []for i in data:x.append(i[0])plt.plot(x)plt.show()# 使用df数据画图plt.plot(df['revenue'])# 取df数据的第二列 或者取切片plt.plot(df.iloc[:,1])plt.show()
