python写入已存在的excel数据实例

yipeiwu_com6年前Python基础

python可以使用xlrd读excel,使用xlwt写excel,但是如果要把数据写入已存在的excel,需要另外一个库xlutils配合使用.

大概思路:

1、用xlrd.open_workbook打开已有的xsl文件

注意添加参数formatting_info=True,得以保存之前数据的格式

2、然后用,from xlutils.copy import copy;,之后的copy去从打开的xlrd的Book变量中,拷贝出一份,成为新的xlwt的Workbook变量

3、然后对于xlwt的Workbook变量,就是正常的:

通过get_sheet去获得对应的sheet,拿到sheet变量后,就可以往sheet中,写入新的数据

4、写完新数据后,最终save保存

源码例子:

import xlrd
import os
from xlutils.copy import copy
from xlwt import Style

def writeExcel(row, col, str, styl=Style.default_style):
 rb = xlrd.open_workbook(file, formatting_info=True)
 wb = copy(rb)
 ws = wb.get_sheet(0)
 ws.write(row, col, str, styl)
 wb.save(file)

style = xlwt.easyxf('font:height 240, color-index red, bold on;align: wrap on, vert centre, horiz center');
writeExcel(1, 1, 'hello world', style) 

如果需要excel原格式,需要加参数

formatting_info=True

如果需要加excel样式,传入样式字符串给xlwt.easyxf即可

合并单元格:

ws.write_merge(top_row, bottom_row, left_column, right_column, string)

以上这篇python写入已存在的excel数据实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python挑选文件夹里宽大于300图片的方法

本文实例讲述了Python挑选文件夹里宽大于300图片的方法。分享给大家供大家参考。具体分析如下: 这段代码需要用到PIL库。代码如下所示: import sys import os...

Python循环实现n的全排列功能

描述: 输入一个大于0的整数n,输出1到n的全排列: 例如: n=3,输出[[3, 2, 1], [2, 3, 1], [2, 1, 3], [3, 1, 2], [1, 3, 2]...

flask + pymysql操作Mysql数据库的实例

flask + pymysql操作Mysql数据库的实例

安装flask-sqlalchemy、pymysql模块 pip install flask-sqlalchemy pymysql ### Flask-SQLAlchemy的介绍...

django数据关系一对多、多对多模型、自关联的建立

一对多模型 一对多的关系,例如员工跟部门。一个部门有多个员工。那么在django怎么建立这种表关系呢? 其实就是利用外键,在多的一方,字段指定外键即可。例如员工和部门,员工是多,所以在...

python+opencv实现霍夫变换检测直线

python+opencv实现霍夫变换检测直线

本文实例为大家分享了python+opencv实现霍夫变换检测直线的具体代码,供大家参考,具体内容如下 python+opencv实现高斯平滑滤波 python+opencv实现阈值分...