python操作excel常用的方法
读操作模块安装
pip install xlrd
写操作模块安装
pip install xlwt
xlrd读操作
1、打开excel
xl = xlrd.open_workbook('test.xls')
2、通过索引获取工作表
table = xl.sheet()[0] #有多个sheet,获取第一个sheet
3、获取第一行的内容
row = table.row_values(0)
4、获取第一列的内容
col = table.col_values(0)
5、获取行数、列数
table.nrows
table.ncols
6、单元格的值
table.cell(0,0).value
7、日期、合并单元格的值
合并的单元格的值默认可以从最顶层的行获取
获取日期
xlrd.xldate_as_tuple(table.cell_values(1,4),xl.datemode)
8、type类型
0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
示例代码:
#!/usr/bin/env python
# -*- coding:utf-8 -*- import xlrd # 打开Excel文件
workbook = xlrd.open_workbook('test.xlsx') # 输出Excel文件中所有sheet的名字
print workbook.sheet_names() # 根据sheet索引或者名称获取sheet内容
Data_sheet = workbook.sheets()[0]
CdfData_sheet = workbook.sheet_by_index(1)
Charts_sheet = workbook.sheet_by_name(u'Charts') # 获取sheet名称、行数和列数
print Data_sheet.name, Data_sheet.nrows, Data_sheet.ncols, \
CdfData_sheet.name, CdfData_sheet.nrows, CdfData_sheet.ncols, \
Charts_sheet.name, Charts_sheet.nrows, Charts_sheet.ncols # 获取整行和整列的值(列表
rows = Data_sheet.row_values(0) # 获取第一行内容
cols = Data_sheet.col_values(1) # 获取第二列内容
# print rows
# print cols # 获取单元格内容
cell_A1 = Data_sheet.cell(0, 0).value
cell_C1 = Data_sheet.cell(0, 2).value
cell_B1 = Data_sheet.row(0)[1].value
cell_D2 = Data_sheet.col(3)[1].value
print cell_A1, cell_B1, cell_C1, cell_D2 # 获取单元格内容的数据类型
# ctype:0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
print 'cell(0,0)数据类型:', Data_sheet.cell(0, 0).ctype
print 'cell(1,0)数据类型:', Data_sheet.cell(1, 0).ctype
print 'cell(1,1)数据类型:', Data_sheet.cell(1, 1).ctype
print 'cell(1,2)数据类型:', Data_sheet.cell(1, 2).ctype # 获取单元格内容为日期的数据
date_value = xlrd.xldate_as_tuple(Data_sheet.cell_value(1, 0), workbook.datemode)
print date_value
print '%d:%d:%d' % (date_value[3:]) d = {'11:25:59': [1, 2, 3], '11:26:00': [2, 3, 4], '11:26:01': [3, 4, 5]}
print d['11:25:59']
print d['11:26:00']
print d['11:26:01']
xlrd写操作
1、创建excel
xl = xlwt.Workbook()
2、创建工作表
table = xl.add_sheet(name)
3、写内容
table.write(row,col,cell)
4、写入并设置单元格式
table.write(row,col,cell,style)
5、合并单元格写入
table.write_merge(x,x+n,y,y+m,cell)
6、保存单元格
Workbook.save('demo.xls')
示例代码:
#!/usr/bin/env python
# -*- coding:utf-8 -*- import xlwt def set_style(name, height, bold=False):
style = xlwt.XFStyle() font = xlwt.Font()
font.name = name
font.bold = bold
font.color_index = 4
font.height = height style.font = font
return style def write_excel():
# 创建工作簿
workbook = xlwt.Workbook(encoding='utf-8')
# 创建sheet
data_sheet = workbook.add_sheet('demo')
row0 = [u'字段名称', u'时间', 'CRNTI', 'CELL-ID']
row1 = [u'测试字段', '15:50:33-15:52:14', 22706, 4190202] # 生成第一行和第二行
for i in range(len(row0)):
data_sheet.write(0, i, row0[i], set_style('Times New Roman', 220, True))
data_sheet.write(1, i, row1[i], set_style('Times New Roman', 220, True)) workbook.save('demo.xls') if __name__ == '__main__':
write_excel()
python操作excel常用的方法的更多相关文章
- Python操作excel表格
用Python操作Excel在工作中还是挺常用的,因为毕竟不懂Excel是一个用户庞大的数据管理软件 注:本篇代码在Python3环境下运行 首先导入两个模块xlrd和xlwt,xlrd用来读取Exc ...
- python操作excel表格(xlrd/xlwt)
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
- Python操作excel(xlrd和xlwt)
Python操作excel表格有很多支持的库,例如:xlrd.xlwt.openpyxl.win32com,下面介绍使用xlrd.xlwt和xlutils模块这三个库不需要其他的支持,在任何操作系统上 ...
- Python 利用Python操作excel表格之openyxl介绍Part1
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...
- 【转】python操作excel表格(xlrd/xlwt)
[转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...
- Python 利用Python操作excel表格之xlwt介绍
利用Python操作excel表格之xlwt介绍 by:授客 QQ:1033553122 直接上代码 案例1 #!/usr/bin/env python # -*- coding:utf-8 ...
- Python 操作Excel之通过xlutils实现在保留原格式的情况下追加写入数据
在Python操作Excel 的模块有 xlrd.xlwt.xlutils等. xlrd:读取Excel文件数据 xlwt:写入Excel 数据,缺点是Excel格式无法复用,为了方便用户,写入的话, ...
- python学习笔记(八)python操作Excel
一.python操作excel,python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的 ...
- python操作excel xlrd和xlwt的使用
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
随机推荐
- 浅谈Java SE、Java EE、Java ME三者的区别
本文把JAVA SE.JAVA EE.JAVA ME拿来做下区别,同时也分享一下作者的一些成果.目前的Java平台根据软件开发人员.服务提供商和设备生产商可以针对特定的市场可以分为三个版本JAVA S ...
- 解决java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext这个问题
今天在运行别人的SSH项目时,遇到了这个问题 严重: Exception sending context initialized event to listener instance of class ...
- 在Mac下配置Maven环境
下载Maven安装文件,(http://maven.apache.org/download.html)如:apache-maven-3.5.0-bin.zip,然后解压到本地目录. 打开 .bash_ ...
- Go语言内存管理(一)内存分配
Go语言内存管理(一)内存分配 golang作为一种"高级语言",也提供了自己的内存管理机制.这样一方面可以简化编码的流程,降低因内存使用导致出现问题的频率(C语言使用者尤其是初学 ...
- cache缓存的BUG
坑: 1.在使用这个模版代码开发的时候,当我们改变了数据库表的设置的时候,我们都要把本地的cache缓存文件删除一下. 如果不删除的话,当我们改变数据库设置的之后,程序读取数据是从本地的缓存文件里面读 ...
- java调用shell脚本,并获得结果集的例子
/** * 运行shell脚本 * @param shell 需要运行的shell脚本 */ public static void execShell(String shell){ try { Run ...
- 分布式mysql中间件(mycat)
1. MyCAT概述 1.1 背景 随着传统的数据库技术日趋成熟.计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上.这时集中式数据库系统表现出它的不足: (1)集中 ...
- 【Unity3D】Unity3D开发《我的世界》之三、创建一个Chunk
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/unity_minecraft_03.html 一.引入int类型的Vector3 我们都知道Unity3D里Vec ...
- ffmpeg在am335x上的移植
交叉编译工具:arm-linux-gcc 一.先下载一下文件 1. yasm-1.2.0.tar.gz 2. x264-snapshot-20140424-2245.tar.bz2 3. xvidco ...
- WebService之CXF注解之二(Service接口)
ITeacherService.java: /** * @Title:ITeacherService.java * @Package:com.you.service * @Description:教师 ...