码迷,mamicode.com
首页 > 编程语言 > 详细

python excel操作

时间:2015-07-30 09:37:41      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:python   excel   

一.读操作--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
sister28
brother30
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文件内容样式如下:

zhzhgo25
zhzhgo25


由于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文件内容如下,增加一行插入的数据:

zhzhgo25
sister28
brother30
mother50


本文出自 “今日的努力,明日的成功!” 博客,请务必保留此出处http://zhzhgo.blog.51cto.com/10497096/1679858

python excel操作

标签:python   excel   

原文地址:http://zhzhgo.blog.51cto.com/10497096/1679858

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!