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设计】。

相关文章

Python3里的super()和__class__使用介绍

子类里访问父类的同名属性,而又不想直接引用父类的名字,因为说不定什么时候会去修改它,所以数据还是只保留一份的好。其实呢,还有更好的理由不去直接引用父类的名字,参见 Python's su...

pycharm访问mysql数据库的方法步骤

pycharm访问mysql数据库的方法步骤

不需要像eclipse那样添加驱动包,在pycharm里面下载一个pymysql包即可。 然后链接自己电脑的mysql并进行访问即可。 源码如下 import pymysql...

python字符串中匹配数字的正则表达式

Python 正则表达式简介 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 Python 自1.5版本起增加了re 模块,它提供 Perl 风格...

Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中

我就废话不多说了,直接上代码吧! import Image from datetime import datetime import os str = '/home/dltest/c...

浅谈numpy生成数组的零值问题

今天在用numpy写sinc函数时偶然发现在x=0时函数居然能取到1,觉得很不可思议,按理来说在x=0时函数无意义,研究了一下,发现竟然时numpy在生成数组时自动用一个很小的数代替了0...