python操作excel
2013-01-06 19:19
393 查看
perl的类库中改写完excel之后,格式丢失的很严重,所有merge之后的空格恢复了一个一个的样子,所有的
com组件出现异常,这是在意料之中的。虽然perl的三个组件全部是基于某OLE的模块,但是我觉得这个山寨
win32::Ole还只是简单的操作。并非完美的控制。尝试在python下对xls文件进行操作。
经过在网上的搜索,查到的一个不错的网站 http://www.python-excel.org/
目前主要是使用XLRD进行xls文件的解析,xlwt进行创建的工作,而xlutils是进行xls文件的修改,其设计的模型
从http://www.zhlwish.com/2010/10/09/python_edit_excel/ 此博主有个总结,抄下来:
Python中一般使用xlrd(excel read)来读取Excel文件,使用xlwt(excel
write)来生成Excel文件(可以控
制Excel中单元格的格式),需要注意的是,用xlrd读取excel是不能对其进行操作的:xlrd.open_workbook()方法
返回xlrd.Book类型,是只读的,不能对其进行操作。而 xlwt.Workbook()返回的xlwt.Workbook类型的
save(filepath)方法可以保存excel文件。
因此对于读取和生成Excel文件都非常容易处理,但是对于已经存在的Excel文件进行修改就比较麻烦了。不过,
还有一个xlutils(依赖于xlrd和xlwt)提供复制excel文件内容和修改文件的功能。其实际也只是在xlrd.Book和
xlwt.Workbook之间建立了一个管道而已,如下图:
点击(此处)折叠或打开
from xlrd
import open_workbook
from xlutils.copy
import copy
rb = open_workbook('temp.xls')
#通过sheet_by_index()获取的sheet没有write()方法
rs = rb.sheet_by_index(0)
wb = copy(rb)
#通过get_sheet()获取的sheet有write()方法
ws = wb.get_sheet(0)
ws.write(0, 0,
'changed!')
wb.save('temp.xls')
这样简单的修改可以实现,但是格式没有保存,在一位任兄的Blog http://qiujiayu.iteye.com/blog/812972 里提到这么一句代码
workBook = xlrd.open_workbook(template, on_demand=True, formatting_info=True)
在打开文件的时候加上 formatting_info=True,测试,改修改格子的format变了,但是比较好的一点是其他的save之后对于原xls文件只是com组件全部失去作用。open function的主要功能明天去查阅文档。
类似于perl的CPAN。Python也有自动安装模块的控制模块-----easy install。
通过ez_setup 脚本来安装也很爽
wget -q http://peak.telecommunity.com/dist/ez_setup.py
chmod a+x ez_setup.py
sudo python ez_setup.py
其实实在不行就下载模块,python install得了。。。
补充一下刚才搜到一国外哥们在ubuntu下安装easyinstall的办法:
sudo apt-get install python-setuptools python-dev build-essential
I don't know if it will be work,but you can try : )...
装完easyinstall之后直接 easy_install xlutils这个。read and wt模块应该都会因为依赖关系而安装。很爽。。
转自:http://blog.chinaunix.net/uid-24701781-id-3347590.html
com组件出现异常,这是在意料之中的。虽然perl的三个组件全部是基于某OLE的模块,但是我觉得这个山寨
win32::Ole还只是简单的操作。并非完美的控制。尝试在python下对xls文件进行操作。
经过在网上的搜索,查到的一个不错的网站 http://www.python-excel.org/
目前主要是使用XLRD进行xls文件的解析,xlwt进行创建的工作,而xlutils是进行xls文件的修改,其设计的模型
从http://www.zhlwish.com/2010/10/09/python_edit_excel/ 此博主有个总结,抄下来:
Python中一般使用xlrd(excel read)来读取Excel文件,使用xlwt(excel
write)来生成Excel文件(可以控
制Excel中单元格的格式),需要注意的是,用xlrd读取excel是不能对其进行操作的:xlrd.open_workbook()方法
返回xlrd.Book类型,是只读的,不能对其进行操作。而 xlwt.Workbook()返回的xlwt.Workbook类型的
save(filepath)方法可以保存excel文件。
因此对于读取和生成Excel文件都非常容易处理,但是对于已经存在的Excel文件进行修改就比较麻烦了。不过,
还有一个xlutils(依赖于xlrd和xlwt)提供复制excel文件内容和修改文件的功能。其实际也只是在xlrd.Book和
xlwt.Workbook之间建立了一个管道而已,如下图:
点击(此处)折叠或打开
from xlrd
import open_workbook
from xlutils.copy
import copy
rb = open_workbook('temp.xls')
#通过sheet_by_index()获取的sheet没有write()方法
rs = rb.sheet_by_index(0)
wb = copy(rb)
#通过get_sheet()获取的sheet有write()方法
ws = wb.get_sheet(0)
ws.write(0, 0,
'changed!')
wb.save('temp.xls')
这样简单的修改可以实现,但是格式没有保存,在一位任兄的Blog http://qiujiayu.iteye.com/blog/812972 里提到这么一句代码
workBook = xlrd.open_workbook(template, on_demand=True, formatting_info=True)
在打开文件的时候加上 formatting_info=True,测试,改修改格子的format变了,但是比较好的一点是其他的save之后对于原xls文件只是com组件全部失去作用。open function的主要功能明天去查阅文档。
类似于perl的CPAN。Python也有自动安装模块的控制模块-----easy install。
通过ez_setup 脚本来安装也很爽
wget -q http://peak.telecommunity.com/dist/ez_setup.py
chmod a+x ez_setup.py
sudo python ez_setup.py
其实实在不行就下载模块,python install得了。。。
补充一下刚才搜到一国外哥们在ubuntu下安装easyinstall的办法:
sudo apt-get install python-setuptools python-dev build-essential
I don't know if it will be work,but you can try : )...
装完easyinstall之后直接 easy_install xlutils这个。read and wt模块应该都会因为依赖关系而安装。很爽。。
转自:http://blog.chinaunix.net/uid-24701781-id-3347590.html
相关文章推荐
- Python之Excel操作
- python 对excel 的数据进行删除操作
- Python操作Excel--xlrd
- python操作Excel读写--使用xlrd
- Python利用win32com操作Excel
- python操作Excel读写--使用xlrd(转)
- 使用Python对Excel进行读写操作
- python对 Excel数据操作之xlrd模块
- python:excel的读写操作
- python操作Excel
- python3结合openpyxl库实现excel操作的实例代码
- 关于python中,word/excel的操作
- Windows(64位)下Python安装与操作excel
- 用 python 操作 Excel 2007 表格 --- 准备篇
- Python操作Excel--xlrd、xlwt
- 使用python操作excel
- Python中操作Excel 2000的xlsx文件(使用openpyxl)
- python3的异常处理、操作excel和数据库
- Python操作excel(xlrd和xlwt)
- 【python练习】 xlwt 操作excel 写入list数据并考虑合并单元格