将数据存入MySQL
import pandas as pd
from sqlalchemy import create_engine
import os
# 初始化数据库连接,使用pymysql模块
engine = create_engine("mysql+pymysql://root:密码@localhost:3306/数据库名", encoding="utf-8")
# 读取本地Excel文件
#prefix = os.getcwd() # 获取当前路径
df = pd.read_excel(r"F:\Excel文件.xlsx")
# 将DataFrame的数据储存到数据库表中,如果库里没有该表名,则会自动创建该表
# if_exits: 三个模式:fail,若表存在,则不输出;replace:若表存在,覆盖原来表里的数据;append:若表存在,将数据写到原表的后面。默认为fail
# index:是否将df的index单独写到一列中
# chunksize:设置一次入库的大小
df.to_sql('表名', engine, if_exists='append',index=False,chunksize=1000)
print("数据写入成功!")
从MySQL导出数据到excel
import pymysql
import xlsxwriter
import datetime
import time
#链接database
connection = pymysql.connect(host="localhost",user="root",password="密码",database="数据库名",charset="utf8")
#创建可执行sql语句的游标
cursor = connection.cursor()
#查询
sql = 'select * from 表名'
#执行
count = cursor.execute(sql)
#获取全部结果
result = cursor.fetchall()
#print(result[0])
#获取MySQL中的数据字段名称
fields = cursor.description
#创建一个excel
workBook1 = xlsxwriter.Workbook('./product.xlsx')
#创建一个sheet
workSheet = workBook1.add_worksheet('sheet1')
# 写上字段信息
for field in range(0,len(fields)):
workSheet.write(0,field,fields[field][0])
# 获取并写入数据段信息
row = 1
col = 0
for row in range(1,len(result)+1):
for col in range(0,len(fields)):
workSheet.write(row,col,u'%s'%result[row-1][col])
print('正在保存第'+str(row)+'行第'+str(col)+'列信息')
workBook1.close()