您的位置:首页 > 编程语言 > Python开发

自己总结python用xlrd\xlwt读写excel

2015-05-22 17:20 639 查看
1.首先安装xlrd\xlwt模块

xlrd模块下载地址:
https://pypi.python.org/pypi/xlrd
xlwt模块下载地址:
https://pypi.python.org/pypi/xlwt
linux 安装命令 python setup.py install

windos 安装命令 setup.py install

2.使用方法大全

基础方法推荐请看这里:
http://blog.csdn.net/mr__fang/article/details/7089581
简单方法+例子:
http://www.jb51.net/article/65550.htm
稍微深入一点:
http://www.jb51.net/article/57699.htm
3.自己使用的总结

1.平时的使用看基础方法推荐的博客就够了.

2.写小程序的时候遇到个问题,首先新建一个

file = xlwt.Workbook() #注意这里的Workbook首字母是大写,无语吧

table = file.add_sheet('sheet name',cell_overwrite_ok=True)#新建一个sheet,并加重复操作参数


然后开始写

table.write(0,0,'姓名')

table.write(1,0,'张三')

#写了N多行...

table.write(999,0,'李四')


保存一份

file.save('一班信息.xls')


然后想用同样的首行(这里首行只写了一行,实际有很多,姓名,学好,性别,婚否,巴拉巴拉)

写另一份excel,就比如上面的是一班,这里写二班把

table.write(1,0,'小王') #这里是二班的小王同学
#写了n多行,但是二班人比较少,很奇葩
table.write(10,0,'小赵')
#二班只有10个人!!


保存另一份

file.save('二班信息.xls')


然后我们打开二班信息,你会发现出来前10个二班本来的信息之外,

11~999一班的同学全跑到二班来了?!!

解决办法

table.wirte(11,0,'')#用空代替掉
#写了n多行,实际程序中用For,
#这里表示下要很辛苦的解决这个私自"转班"的事..
table.wirte(999,0,'')#全部用空替换


最后再保存

file.save('正确的二班信息.xls')


到此,我想总结的第二条结束

3.linux下保存用中文名保存正常,windos下坑爹乱码问题

#coding:utf8

file.save('世界你好')#linux正常,win乱码

file.save(u'世界你好'.encode('GBK'))# win正常


谢谢阅读,欢迎关注,互相学习!~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: