python的excel操作

python的excel操作:需要三个模块:xlrd ,xlwt ,xlutils

 

一、xlrd ,python读取Excel模块  ,不能用于写入

#获取excel的workfile对象

xlsfile = r'C:\Users\LP0443\Desktop\V4.1\V4.1\V4.1cpuNmemory.xls'

workfile = xlrd.open_workbook(xlsfile)  

 

#获取excel的sheet对象,可以通过sheet名字或者索引来获取

sheet = workfile.sheet_by_name(sheet_name)

sheet = workfile.sheet_by_index(0)

 

#获取指定索引的sheetname

sheetname = workfile.sheet_names()[0]

 

#获取行列总数

nrows = sheet.nrows

ncols = sheet.ncols

#获取指定行、列的值,返回对象为一个值的列表

row_data = sheet.row_values(0)

col_data = sheet.col_values(0)

 

#通过cell的位置坐标获得指定的cell的值

cell_value = sheet.cell_value(0,1)

 

 

二、xlwt模块  此模块只允许写入 无法读取

 

import xlwt

workbook = xlwt.Workbook(encoding='utf-8',style_compression=0)

#给excel新增一个名为sheetname的sheet

sheet = workbook.add_sheet('sheetname',cell_overwrite_ok=true)

 

##在excel的第一行第一列写入“i love you” ,注意 excel行列是从0开始的

sheet.write(0,0,"i love you " )

 

style = xlwt.XFStyle()

font = xlwt.Font()

font.name = 'Times New Roman'

font.bold = True

style.font = font

workbook.save('D:\test.xls') 

 

xlwt 的一些常用的方法以及属性:

Workbook类初始化时有encoding和style_compression参数。

encoding,设置字符编码,一般要这样设置:w = Workbook(encoding='utf-8'),就可以在excel中输出中文了。默认是ascii。当然要记得在文件头部添加:

 

style_compression表示是否压缩,不常用。

除了Workbook外,还有一些属性:

Owner设置文档所有者。

country_code:国家码

wnd_protect:窗口保护

obj_protect:对象保护

Protect:保护

backup_on_save:保存时备份

Hpos:横坐标

Vpos:纵坐标

Width:宽度

Height:高度

active_sheet:活动sheet

tab_width:tab宽度

wnd_visible:窗口是否可见

wnd_mini:窗口最小化

hscroll_visible:横向滚动条是否可见。

vscroll_visible:纵向滚动条是否可见。

tabs_visible:tab是否可见。

dates_1904:是否使用1904日期系统

use_cell_values:单元格的值

default_style:默认样式

colour_RGB:颜色

方法有:add_style,add_font,add_str,del_str,str_index,add_rt,rt_index,add_sheet,get_sheet,raise_bad_sheetname,
convert_sheetindex,setup_xcall,add_sheet_reference。

 

三、xlutils 修改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之间建立了一个管道而已,如下图:

 

 

 

xlutils.copy模块的copy()方法实现了这个功能,示例代码如下:

from xlrd import open_workbook
from xlutils.copy import copy
 
rb = open_workbook('m:\\1.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('m:\\1.xls')

 

整理来自于:http://blog.csdn.net/tianzhu123/article/details/7225809

http://blog.csdn.net/five3/article/details/7034826

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值