Python连接Mysql数据库并从Mysql数据库中读取数据存入excel文件中

0.环境准备及介绍

  • 操作系统:Windows10
  • Python版本:Python 3.7.2
  • 工具:Pycharm专业版
  • 依赖第三方库:
    • pymysql(连接数据库)
    • openpyxl(操作excel表)

1.Python 连接MySQL数据库

以下代码为连接数据库基本代码,代码实现了查询当前数据库下所有表,具体每行代码什么意思请详细阅读代码后面的注释
import pymysql
# 连接数据库
conn = pymysql.connect(host="localhost", user="root", passwd="你的数据库密码",
                       db="mystore", port=3306,charset="utf8")
cur = conn.cursor()  # 创建游标对象

cur.execute("show tables;")    # 使用execute()方法执行SQL代码
table_names=cur.fetchall() # 返回执行SQL代码后的结果集,默认为元组
#打印
print(table_names)

cur.close()
conn.close()  # 关闭数据库连接
以下为代码执行完成截图:

在这里插入图片描述

Python 操控excel表

具体的openpyxl库中怎么使用,给大家整理了小编认为整理的比较好的博主,将他们的文章链接粘至此。
python openpyxl使用方法详解(推荐♥)
openpyxl官方手册-英文版
openpyxl官方手册 - 简书

"""
    操作ceshi.xlsx,从A1-J1单元格中写入hello
"""
import openpyxl

wb = openpyxl.load_workbook('ceshi.xlsx')  # 创建一个工作簿
ws = wb.active  # 选择默认的sheet

# 从A1-J1单元格中写入hello
for i in range(65,65+10):
    ws[chr(i)+'1'] = 'hello'

wb.save('ceshi.xlsx')

代码执行结果

在这里插入图片描述

Python连接Mysql数据库并从Mysql数据库中读取数据存入excel文件中

数据库中查询

在这里插入图片描述
在这里插入图片描述

代码如下:
import openpyxl
import pymysql


# 连接数据库
conn = pymysql.connect(host="localhost", user="root", passwd="你的数据库密码",
                       db="数据库名", port=3306, charset="utf8")
cur = conn.cursor()

wb = openpyxl.load_workbook('ceshi.xlsx')  # 打开文件
ws = wb.active

"""  获取表结构,并将表头写入excel """
cur.execute("desc product;")
table_head = cur.fetchall()
li = []
for d in table_head:
    li.append(d[0])
li.reverse()
i = 65
while li:
    ws[chr(i)+'1'] = li.pop()
    i = i+1

""" 获取表中所有数据,并写入excel """
cur.execute("select * from product;")
table_product_data = cur.fetchall()
j = 1
for da in table_product_data:
    di = 65
    j = j + 1
    for k in range(len(da)):

        ws[chr(di) + str(j)] = da[k]
        di = di+1

wb.save('ceshi.xlsx')

cur.close()
conn.close()
代码执行结果

在这里插入图片描述

  • 6
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值