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 ...
随机推荐
- 织梦使用if判断某个字段是否为空
织梦如何使用if判断某个字段是否为空呢?我们以文章页调用文章摘要为例: 使用if语句判断摘要是否为空,如果有摘要就显示摘要模块,如果没有就不显示 {dede:field.description run ...
- 你所有不知的margin属性
前言 致谢 本文总结于 张鑫旭老师的 CSS深入理解之margin课程,感谢张老师的辛苦付出! 难学的 CSS 作为前端狗的我们,每天都要和网页打交道.当 UI 将设计稿发给你时,CSS 的知识便显得 ...
- JavaScript数据迭代方法差别
js有很多总接待方法,ES6之后又新增了几个: 这里主要讨论数组迭代遍历的方法所以不会细讲for...in... ES5.ES6数组迭代方法有: forEach map filter some eve ...
- Maven中的pom.xml详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- c的文件流读取
strtok(数组,分隔符); atof(数组)返回值为转换后的数字; fgets(数组指针,长度,文件句柄); 整整花了两天啊
- Centos下_MysqL5.7在使用mysqldump命令备份数据库报错:mysqldump: [Warning] Using a password on the command line interface can be insecure.
在阿里云服务器增加一个shell脚本定时备份数据库脚本执行任务时,测试性的执行了备份命令,如下 [root@iZ2ze503xw2q1fftv5rhboZ mysql_bak]# /usr/local ...
- 3.1 if 条件分支语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 获取条件语句的执行结果的过程就是真假值判断 #首先需要说明在Python中 #假值(False):0. ...
- hihoCoder 1493 : 歌德巴赫猜想 素数筛法
题意:哥德巴赫猜想认为"每一个大于2的偶数,都能表示成两个质数之和".给定一个大于2的偶数N,你能找到两个质数P和Q满足P<=Q并且P+Q=N吗?如果有多组解,输出P最小的一 ...
- soj3129: windy和水星 -- 水星数学家 2
注意int的范围:-2147483648-2147483647 如果输入会出现溢出,这题应该就是卡的这里.其使用long long就不用考虑这个. 加深:如果输入的数是很多位,直接当做字符串处理即可. ...
- Enum枚举写的一个简单状态机
今天下雨,心情有点压抑,所以用枚举写个状态机排解一下心情,顺便记录一下枚举使用方法. package statemachine; import java.util.ArrayList; import ...