发布网友 发布时间:2022-04-22 21:27
共3个回答
懂视网 时间:2022-05-01 11:11
#!/usr/bin/python
# -*- coding: utf-8 -*-
#!/usr/bin/env python
import MySQLdb
import sys
import xlsxwriter
reload(sys)
sys.setdefaultencoding(‘utf-8‘)
#创建一个EXCEL文件
workbook = xlsxwriter.Workbook(‘name.xlsx‘)#EXCEL的文件名
#创建一个工作表对象
worksheet_1 = workbook.add_worksheet(‘name_1‘)#sheet页面1的名字
worksheet_2 = workbook.add_worksheet(‘name_2‘)#sheet页面2的名字
#需要更多的sheet页面以此类推
title_1 = [u‘xxx‘,u‘xxx‘,u‘xxx‘,u‘xxx‘]#定义数据表头列表
title_2 = [u‘xxx‘,u‘xxx‘,u‘xxx‘,u‘xxx‘]
format_1 = workbook.add_format()#定义format格式对象
format_1.set_border(1)#定义format对象单元格边框加粗(1像素)的格式
format_title_1 = workbook.add_format()#定义format_title格式对象
format_title_1.set_border(1)#定义format_title对象单元格边框加粗(1像素)的格式对象
format_title_1.set_bg_color(‘#cccccc‘)#定义format_title对象单元格背景颜色为‘#cccccc‘的格式
format_title_1.set_align(‘center‘)#定义format_title对象单元格居中对齐的格式
format_title_1.set_bold()#定义format_title对象单元格内容加粗的格式
worksheet_1.write_row(‘A1‘,title_1,format_title_1)
conn = MySQLdb.connect(host="xxx",user="xxx",passwd="xxx",db="xxx" , port=3306,charset=‘utf8‘)#连接数据库,host:数据库链接,user:账户,passwd:密码,db:数据库名
cursor_1 = conn.cursor()
cursor_1.execute("select xxx")#执行sql语句
data_1 = cursor_1.fetchall()#数据赋值给data_1
list_1=range(len(data_1))#测出data_1长度,以range列出赋值给list_1
#按照一定的格式和位置循环写入EXCEL表格,具体位置可以自行尝试
for i in list_1:
for j in range(4):
worksheet_1.write(i+1,j,data_1[i][j])#写入EXCEL表格
i += 1
cursor_1.close()
conn.close()
workbook.close()
本文出自 “一葫芦酱油” 博客,请务必保留此出处http://zhushenghang.blog.51cto.com/11105203/1825409
python脚本——生成EXCEL,连接数据库,并将指定数据写入EXCEL
标签:python脚本 连接数据库 自动化运维 采集数据库数据 写入excel
热心网友 时间:2022-05-01 08:19
方法一,xlwt:
import xlwt方法二,xlsxwriter:
import xlsxwriter热心网友 时间:2022-05-01 09:37
简单的介绍一下这两个库,先说xlrd,这个库读Excel比较方便,各种方法使用起来也挺方便:
bk = xlrd.open_workbook('your.xls')
sh = bk.sheets()[-1]
上面两句就可以打开Excel表格中的一个sheet,sheets得到的是一个list,存放所有的sheet。
sh.nrows是该sheet中的行数,知道这个后就可以使用for循环来读所有的单元格了:
sh.row(i)[3]这个就代表第i行的第4列。
再看看pyExcelerator,这个用起来有点别扭:
sheets = parse_xls('result.xls')
先打开一个表格,sheets是一个list,包含了所有表格的内容,每一项就是一个sheet,而每个sheet是二元tuple,第一个是该sheet的名字,第二个是一个dict,dict的key是一个二元组,表示单元格的坐标,如(0,0),第一行第一列。
从上面的分析中可以得出要访问Excel中第一个sheet的第一行第一列元素需要:
sheets[0][1][(0,0)]
pyExcelerator也不能得到行列数。
写文件也比较简单:
wb = Workbook()
ws = wb.add_sheet('result')
ws.write(0,0,“hello”)
wb.save('result.xls')
就不解释了:-)
写文件时需要注意直接写Unicode内容进去,而不要写编码过的内容。
本文来源于可可熊的窝 http://cocobear.info/blog , 原文地址: