Python --Excell写入数据

 

功能场景:

通过python代码实现:将数据库表的查询结果写入到excell中:

参考:http://openpyxl.readthedocs.io/en/default/worksheet_properties.html

      http://www.cnblogs.com/guanfuchang/p/5970435.html

代码例子:

import MySQLdb
import openpyxl //引入excell相关的库,如果没有安装,先安装
import sys
from openpyxl import Workbook


wb = Workbook()
# 激活 worksheet
ws = wb.active
# 定义第一行表头内容
ws['A1'] = "版本名称"
ws['B1'] = "版本提交时间"
ws['C1'] = "版本提交人"
def excell_insert(v1,v2,v3): # append方法进行添加行 
ws.append([v1, v2, v3])
wb.save(
"D:\\Study\\myPython\\sample.xlsx") #调用excell_insert()方法:
cursor.execute(sql_1) #----这里省去了数据库的连接与sql部分,直接跳到执行
results1
= cursor.fetchall() #匹配所有的查询结果
for row in results1: #循环,逐行写入excell excell_insert(row[0],row[1],row[2])

执行结果:

注意点:

1、定义 excell_insert()时,以下两个初始化,是全局的定义(一次初始化即可),一定是在最外层,不是在方法里。

wb = Workbook()
ws = wb.active

遇到的坑:

我在操作时,把这2个直接写到方法里,和插入操作一起执行,导致循环调用方法,却只插入一条记录。原因就是:每次都执行一次如下的2个操作,excell数据被初始化了。

2、可以在wb.save()中指定要保存的excell文件的路径。注意:路径格式(双斜杠): D:\\Study\\myPython\\sample.xlsx。

3、遇到的问题:

[Errno 13] Permission denied: 'D:\\Study\\myPython\\sample.xlsx'

  原因:我打开了保存数据的excell文件,导致程序执行时,无法写入。

  解决:关闭打开的excell,再执行即可。

 

posted @ 2017-09-16 23:55  平原少年  阅读(487)  评论(0编辑  收藏  举报