一.读操作--xlrd模块

import xlrd

打开一个工作表

wkb=xlrd.open_workbook('test.xls') 

获取sheet操作

wkb.sheet_names()

sheet=wkb.sheets()[0]

sheet=wkb.sheet_by_index(0)

sheet=wkb.sheet_by_name('Sheet1')


sheet操作获取cell值的几种方法:

nrows=sheet.nrows  总行数

ncols=sheet.ncols  总列数

sheet.row_values(i)     第i行的值

sheet.col_values(i)     第i列的值

sheet.cell(1,2).value   第2行3列的值

sheet.cell_value(1,2)   第2行3列的值

sheet.row(1)[2].value   第2行3列的值

sheet.col(2)[1].value   第2行3列的值


示例一:

text.xls表格内容如下

zhzhgo
25
sister 28
brother 30
import xlrd
wbk=xlrd.open_workbook('test.xls')
#print wbk.sheet_names()
#print wbk.sheets()[0]
#print wbk.sheet_by_index(0)
st=wbk.sheet_by_name('Sheet1')
print st.nrows #获取表格行数
print st.ncols #获取表格列数
print st.row_values(0) #第一行的数据
print st.col_values(0) #第一列的数据
print st.cell(0,0).value #第一行一列的数据

>>> 

3

2

[u'zhzhgo', 25.0]

[u'zhzhgo', u'sister', u'brother']

zhzhgo

>>> 


二.写操作--xlwt模块

import xlwt

wbk=xlwt.Workbook() 大写W

sheet=wbk.add_sheet('Sheet 1',cell_overwrite_ok=True)

sheet.write(0,1,'content')

wbk.save('test.xls') 只支持保存xls格式


自定义样式

style=xlwt.XFStyle()

font=xlwt.Font()

font.name='Times New Roman'

font.bold=True

style.font=font

sheet.write=(0,0,'content',style)

style1=xlwt.easyxf('pattern:pattern solid,fore_colour red;font:bold on;')


示例二:

import xlwt
wbk=xlwt.Workbook()
st=wbk.add_sheet('test',cell_overwrite_ok=True) #如果test存在则覆盖
st.write(0,0,'zhzhgo')
st.write(0,1,25)
style=xlwt.XFStyle()
font=xlwt.Font()
font.name='Times New Roman'
font.bold=True #加粗
style.font=font
style1=xlwt.easyxf('pattern:pattern solid,fore_colour red;font:bold on;')
st.write(1,0,'zhzhgo',style) #设置字体样式
st.write(1,1,25,style1) #设置字体样式和背景颜色
wbk.save('test1.xls')

运行之后生成test1.xls文件内容样式如下:

zhzhgo 25
zhzhgo 25


由于xlwt每次保存的时候都会创建一个新的xls文件,如果文件不存在则创建,存在则覆盖,所以不能进行更新操作,python提供了更一个模块来进行excel的更新操作。


三.修改操作--xlutils模块

xlutils.copy

from xlutils import copy as xcopy

wkb_rd=xlrd.open_workbook('test.xls')

wkb_cp=xcopy.copy(wkb_rd) 拷贝一份xlrd到xlwt

sheet=wkb_cp.get_sheet(0)

sheet.write(row,col,value)

wkb_cp.save('test_cp.xls') 只支持保存xls格式


示例三:

import xlrd
from xlutils import copy 
wkb_rd=xlrd.open_workbook('test.xls')
wkb_cp=copy.copy(wkb_rd)
sheet=wkb_cp.get_sheet(0)
sheet.write(3,0,'mother')
sheet.write(3,1,'50')
wkb_cp.save('test.xls'

运行之后test.slx文件内容如下,增加一行插入的数据:

zhzhgo 25
sister 28
brother 30
mother 50