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 ...
随机推荐
- c++中运算符重载,+,-,--,+=,-=,*,/,*=,/=,
#include<iostream> #include<stdlib.h> using namespace std; class Complex { public: Compl ...
- [转]为什么python标准库没有实现链表
实际上刚开始学习一些高级语言的时候我也有同样的疑问,而且即使有链表对应物的语言,链表常常也很少被实际使用.如果是在国外听数据结构的课,老师一般会警告你这只是一个理论概念,实际应用应该实际考察,在通常情 ...
- 【字符串排序,技巧!】UVa 10905 - Children’s Game
There are lots of number games for children. These games are pretty easy to play but not so easy to ...
- 解决codeforces访问慢的问题
转载至:http://blog.csdn.net/wmx16835/article/details/38639451 前阵子打Codeforces(以下简称CF),每次比赛的时候都要等待网页刷新.不是 ...
- ubuntu下使用quick2wire控制RespberryPi2的I2C
首先,开启树莓派的I2C驱动: 查看I2C驱动是否已经被加载:ls /dev -l | grep i2c,如果有形如 i2c-x 的显示结果表明驱动已经加载,否则驱动没有加载,需要进行如下操作: 修改 ...
- PHP中长连接的实现
最近遇到PHP程序在执行大量数据的时候提示超时,于是用到了set_time_limit()函数来设置PHP页面的最大运行时间. 设置允许脚本运行的秒数.如果这是默认的,该脚本返回一个致命的错误.默认限 ...
- 一点关于this的理解
关于this,是很多前端面试必考的题目,有时候在网上看到这些题目,自己试了一下,额,还真的错了!在实际开发中,也会遇到 this 的问题(虽然一些类库会帮我们处理),例如在使用一些框架的时候,例如:k ...
- Filezilla FTP Server 设置帐号主目录文件夹的方法和多个帐号共享一个文件夹的方法
1.点击用户头像进入 2.共享文件夹 3.添加共享文件夹 4.设置一个主目录 5.右键主目录 如图6设置别名,别名问主目录路径+别名名称 如:主目录[d:\pro\home\] 别名[aliases1 ...
- mysql复习---仅涉及单表的操作
一.登录数据库 二.创建数据库: 三.删除数据库 四.使用数据库创建表 五.向表中插入数据 六.查询 1.查询所有数据: 2.姓名查询 3.性别查询 4.查询姓名 5.根据年龄大小查询 6.多个条件查 ...
- 解决IllegalStateException: Can not perform this action after onSaveInstanceState:
今天做项目中的支付宝功能,是在fragment中做的,在支付成功后,想切换到支付成功的页面. 结果就报错了IllegalStateException: Can not perform this act ...