MySQL--Excel之间的数据交接转换

使用Python连接数据库,查询所有电影数据,并将其输出到Excel文件中。介绍如何利用pymysql和xlwt库实现数据读取及写入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编写python代码,查询出所有的电影数据,并输出到一个Excel表movieRank.xlsx中,如下图所示

MoviesNameboxOfficepercentdaystotalBoxOffice
21克拉1031.9215.1822827.06
头号玩家1054.8715.5223127306
湮灭135.341.9995556.77
犬之岛617.359.0821309.09
狂暴巨兽2928.2843.07957089.2
红海行动45.490.6765364108
起跑线161.032.371819873
import xlwt
import pymysql
conn = pymysql.connect(host = 'localhost',user = 'root',passwd = '123456',db = 'movies',charset = 'utf8')
cur = conn.cursor()
# 创建Excel的表格
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('movies')
# 获取movieRank里的信息,然后写入Excel中
def getinfo():
    cur.execute('select * from movieRank')
    datas = cur.fetchall()
    biaotou = cur.description
    biaotou_list = []
    for k in biaotou:
        biaotou_list.append(k[0])
        # print(k)
    for i in range(len(biaotou_list)):
        sheet.write(0,i,biaotou_list[i])
    for i in range(len(datas)):
        row = datas[i]
        for j in range(len(row)):
            # 表头描述已经占据一行了
            sheet.write(i+1,j,datas[i][j])
    wbk.save('./movieRank.xls')
getinfo()

其中注意的一个函数是cur.description,返回的数据是一个集合,如下所示

('MoviesName', 253, None, 225, 225, 0, False)
('boxOffice', 4, None, 12, 12, 31, False)
('percent', 4, None, 12, 12, 31, False)
('days', 3, None, 11, 11, 0, False)

('totalBoxOffice', 4, None, 12, 12, 31, False)

除此以外,还需要注意的fetchall()函数并没有包括表头的信息,我们需要自建表头,简而言之就是fetchall()函数只是提取了非表头的所有数据,这点是这次代码的一个收获。包括fetchall()的返回对象同样是一个集合,我们可以利用索引来顺利的遍历每一个数据。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

且行且安~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值