python xlrd,xlwt 读写excel文件
python 读excel文件,需要xlrd库。下载地址:https://pypi.python.org/pypi/xlrd
python 写excel文件,需要xlwt库。下载地址:https://pypi.python.org/pypi/xlwt/1.1.2
下载后修改扩展名为rar, 解压后安装:

安装成功后就可以引用了。如下代码:
# -*- coding: utf-8 -*-
import os
import xlrd
import xlwt
import datetime
##################读excel文件##############################
#打开Excel文件,参数:excelFile:Excel文件路径
def open_Excel(excelFile):
excelFile = unicode(excelFile, "utf8")
if os.path.isfile(excelFile):
try:
data = xlrd.open_workbook(excelFile)
return data
except Exception,e:
print str(e)
'''往EXCEl单元格写内容,每次写一行sheet:页签名称;row:行内容列表;rowIndex:行索引;
isBold:true:粗字段,false:普通字体'''
def WriteSheetRow(sheet,rowValueList,rowIndex,isBold):
i = 0
style = xlwt.easyxf('font: bold 1') #粗字体
#style = xlwt.easyxf('font: bold 1, color red;') #红色字体
for svalue in rowValueList:
strValue = unicode(str(svalue),'utf-8')
if isBold:
sheet.write(rowIndex,i,strValue,style)
else:
sheet.write(rowIndex,i,strValue)
i = i + 1
#根据索引获取Excel表格中的数据 参数:excelFile:Excel文件路径 ,by_index:表的索引
def open_Excel_ByIndex(excelFile,sheetIndex):
data = open_Excel(excelFile)
table = data.sheets()[sheetIndex]
nrows = table.nrows #行数
ncols = table.ncols #列数
cursor = getSqlCursor()
for i in xrange(0,nrows):
headCols = table.row_values(i) #某一行数据
for a in headCols:
print a
#测试
open_Excel_ByIndex("D:\\test.xlsx",0)
#根据名称获取Excel表格中的数据 参数:excelFile:Excel文件路径
#sheetName:Sheet1名称
def open_Excel_BySheetName(excelFile,sheetName):
sheetName = unicode(sheetName, "utf8")
data = open_Excel(excelFile)
table = data.sheet_by_name(sheetName)
nrows = table.nrows #行数
ncols = table.ncols #列数
cursor = getSqlCursor()
for i in xrange(0,nrows):
headCols = table.row_values(i) #某一行数据
for a in headCols:
print a
#测试
open_Excel_BySheetName("D:\\test.xlsx",'sheet1')
##################写excel文件##############################
'''写excel文件'''
def save_Excel(strFile):
excelFile = unicode(strFile, "utf8")
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('sheet1')
headList = ['标题1','标题2','标题3','标题4']
rowIndex = 0
WriteSheetRow(sheet,headList,rowIndex,,True)
for i in xrange(1,11):
rowIndex = rowIndex + 1
valueList = []
for j in xrange(1,5):
valueList.append(j*i)
WriteSheetRow(sheet,valueList,rowIndex,False)
wbk.save(excelFile)
#测试
save_Excel("D:\\test.xlsx")
结果如下:

##################单元格常用设置##############################
1、设置超链接
#设置超链接
font = xlwt.Font() # Create Font
font.colour_index = 4 # 蓝色字体
font.underline=True
style = xlwt.XFStyle()
style.font = font
sheet.write(rowIndex,4,xlwt.Formula('HYPERLINK("https://www.baidu.com";"baidu")'),style)
2、设置单元格背景色
#设置单元格背景色
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 5 #黄色
style = xlwt.XFStyle()
style.pattern = pattern
sheet.write(5, 5, 'Cell Contents', style)
''' 颜色值
0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue,
5 = Yellow, 6 = Magenta, 7 = Cyan, 16 = Maroon,
17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow ,
20 = Dark Magenta, 21 = Teal,
22 = Light Gray, 23 = Dark Gray
'''
3、设置粗字体
style = xlwt.easyxf('font: bold 1')
sheet.write(5, 5, 'Cell Contents', style)
4、设置字体颜色
style = xlwt.easyxf('font: bold 0, color red;')#红色字体
sheet.write(5, 5, 'Cell Contents', style)
5、设置列宽带
sheet.col(1).width = 3333 # 3333 = 1" (one inch)
6、设置日期格式
style = xlwt.XFStyle()
style.num_format_str = 'YYYY/MM/DD h:mm:ss'
sheet.write(5, 5, datetime.datetime.now(), style)

#Other options: D-MMM-YY, D-MMM, MMM-YY, h:mm, h:mm:ss, h:mm, h:mm:ss,
# M/D/YY h:mm, mm:ss, [h]:mm:ss, mm:ss.0
7、合并行和列
sheet.write_merge(0, 0, 0, 3, 'First Merge')
sheet.write_merge(2, 4, 0, 3, 'Second Merge')

8、给单元格增加边框
borders = xlwt.Borders() # Create Borders
borders.left = xlwt.Borders.DASHED
# May be: NO_LINE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR, MEDIUM_DASHED, THIN_DASH_DOTTED, #MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED, MEDIUM_DASH_DOT_DOTTED,
#SLANTED_MEDIUM_DASH_DOTTED, or 0x00 through 0x0D.
borders.right = xlwt.Borders.DASHED
borders.top = xlwt.Borders.DASHED
borders.bottom = xlwt.Borders.DASHED
borders.left_colour = 0x40
borders.right_colour = 0x40
borders.top_colour = 0x40
borders.bottom_colour = 0x40
style = xlwt.XFStyle() # Create Style
style.borders = borders # Add Borders to Style

9、设置单元格中内容中位置,居中,局左右等
alignment = xlwt.Alignment() # Create Alignment
# May be: HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER, HORZ_RIGHT,
#HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED
alignment.horz = xlwt.Alignment.HORZ_CENTER #水平居中
# May be: VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED
alignment.vert = xlwt.Alignment.VERT_CENTER #垂直居中
style = xlwt.XFStyle() # Create Style
style.alignment = alignment # Add Alignment to Style
sheet.write(5, 5, 'Cell Contents', style)

python xlrd,xlwt 读写excel文件的更多相关文章
- 【转发】Python使用openpyxl读写excel文件
Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...
- python使用xlrd模块读写Excel文件的方法
本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...
- Python使用openpyxl读写excel文件
Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...
- python使用xlrd和xlwt读写Excel文件
版权声明:本文为博主原创文章,未经允许不得转载. 安装模块 如果使用的是Linux系统,并且安装了pip,可以直接使用pip安装xlrd, xlwt: pip install xlwt pip ins ...
- 自己总结python用xlrd\xlwt读写excel
1.首先安装xlrd\xlwt模块 xlrd模块下载地址: https://pypi.python.org/pypi/xlrd xlwt模块下载地址: https://pypi.python.org/ ...
- Python使用读写excel文件
Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...
- python读写Excel文件的函数--使用xlrd/xlwt
python中读取Excel的模块或者说工具有很多,如以下几种: Packages 文档下载 说明 openpyxl Download | Documentation | Bitbucket The ...
- python读写Excel文件--使用xlrd模块读取,xlwt模块写入
一.安装xlrd模块和xlwt模块 1. 下载xlrd模块和xlwt模块 到python官网http://pypi.python.org/pypi/xlrd下载模块.下载的文件例如:xlrd-0.9. ...
- Python -- xlrd,xlwt,xlutils 读写同一个Excel
最近开始学习python,想做做简单的自动化测试,需要读写excel,然后就找到了xlrd来读取Excel文件,使用xlwt来生成Excel文件(可以控制Excel中单元格的格式),需要注意的是,用x ...
随机推荐
- compile ffmpeg
download SDL 1.2.xxx version source code. 1) configure 2) make & make instll download recent ffm ...
- js解析XML
//在当前页面内追加换行标签和指定的HTML内容function w( html ){ $(document.body).append("<br/>" + htm ...
- 消息系统Flume与Kafka的区别
首先Flume和Kafka都是消息系统,但是它俩也有着很多不同的地方,Flume更趋向于消息采集系统,而Kafka更趋向于消息缓存系统. [一]设计上的不同 Flume是消息采集系统,它主要解决问题是 ...
- job interview
一 , 7series clock 二, SDRAM comtroller (DDR) 4.熟悉DDR2/3协议或Ethernet相关协议,并有实际项目经验者优先: 三,AXI bus(AMBA) 四 ...
- Centos 7安装gvim
sudo yum install vim-X11 download vimrc from github
- 关于HTML5标签不兼容(IE6~8)
HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页面显得非常简单. 比较常用的HTML5的新标签元素有: <hea ...
- php中的作用域
在php中分为局部变量.全局变量和静态变量: 局部变量就是在函数体内声明的变量,例子: <?php //作用域 $a=5; function show($b){ $a=$b;//相当于 ...
- OPENSSL中RSA私钥文件(PEM格式)解析【一】
http://blog.sina.com.cn/s/blog_4fcd1ea30100yh4s.html 在PKCS#1 RSA算法标准中定义RSA私钥语法为: RSAPrivateKey ::= S ...
- Java_Web___字符串转码String.getBytes()和new String()——(转)
转载自:http://zhuhuide2004.iteye.com/blog/562739:转载请注明原作者地址: 在Java中,String.getBytes(String decode)方法会根据 ...
- Sytem 表空间很大
SYSTEM表空间使用率达到了99%, 经查出,是审计表AUD$占用绝大部分的空间. -- 占用表空间system对象大小排名 SELECT * MB FROM DBA_SEGMENTS WHERE ...