python 3 mysql写excel_python3 将mysql数据导入excel表中

389255b26521

图片发自简书App

最近自学了python,希望能够对自己的工作有所帮助,重点学习了python链接数据库。啥也不说了、直接上代码,希望高手多指教

# -*- coding:UTF-8 -*-

import xlsxwriter

import pymysql  # Python3的mysql模块

import time  # excel写入

''' 此方法 是传进来sql 语句,然后执行 并返回结果集'''

def get_data(sql):

db=pymysql.connect(host='******',user='***',passwd='mima',db='dbname',port=***,charset='utf8')

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = db.cursor()

# 使用 execute()  方法执行 SQL 查询

#  cursor.execute("select date_format(create_time, '%Y-%m-%d')as dd,count(*) from USER where date_format(create_time, '%Y-%m')='2018-02'group by dd  ")

cursor.execute(sql)

# 使用 fetchone() 方法获取单条数据.

results = cursor.fetchall()

print(results)

# 关闭数据库连接

db.close()

# 返给结果给函数调用者。

return results

def write_data_to_excel():

sql="select date_format(create_time, '%Y-%m-%d')as dd,count(*) from user where date_format(create_time, '%Y-%m')='2018-02'group by dd "

#获取sql 语句的结果集

results = get_data(sql)

#新建一个xlsx文档 此文档是空的 没有任何内容包括sheet页

workbook = xlsxwriter.Workbook('file2.xlsx')

#在xlsx 中新建一个sheet 页

worksheet = workbook.add_worksheet()  # ()中可以加入名字

# 遍历result中的没个元素 将数据写入新建的sheet页中。

#第一层循环 是循环的所有结果集 (('2017-11-15', 8), ('2017-11-21', 8), ('2017-11-22', 1), ('2017-11-23', 5), ('2017-11-24', 2))

for i in range(len(results)): # 这句一共执行了几次? 元组的长度

#第二层循环,是循环的 单个结果中的 每个属性 如上述结果集中第二个  ('2017-11-21', 8) 取出每个属性 '2017-11-21'  和 8

for j in range(len(results[i])):

# 将属性写入对应的表格的做表中 如 0-0 写入的是 2017-11-21  0-1 写入的是 8

worksheet.write(i, j, results[i][j])

#写入完毕后关闭此xls 文件

workbook.close()

#调用上面的方法 将数据写入

write_data_to_excel()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值