Python读写Excel文件的实例


Posted in Python onNovember 01, 2013

最近由于经常要用到Excel,需要根据Excel表格中的内容对一些apk进行处理,手动处理很麻烦,于是决定写脚本来处理。首先贴出网上找来的读写Excel的脚本。
1.读取Excel(需要安装xlrd):

#-*- coding: utf8 -*-
import xlrd
 
fname = "reflect.xls"
bk = xlrd.open_workbook(fname)
shxrange = range(bk.nsheets)
try:
 sh = bk.sheet_by_name("Sheet1")
except:
 print "no sheet in %s named Sheet1" % fname
#获取行数
nrows = sh.nrows
#获取列数
ncols = sh.ncols
print "nrows %d, ncols %d" % (nrows,ncols)
#获取第一行第一列数据 
cell_value = sh.cell_value(1,1)
#print cell_value
 
row_list = []
#获取各行数据
for i in range(1,nrows):
 row_data = sh.row_values(i)
 row_list.append(row_data)

2.写入Excel(需安装pyExcelerator)

from pyExcelerator import *

w = Workbook()  #创建一个工作簿
ws = w.add_sheet('Hey, Hades')  #创建一个工作表
ws.write(0,0,'bit') #在1行1列写入bit
ws.write(0,1,'huang') #在1行2列写入huang
ws.write(1,0,'xuan') #在2行1列写入xuan
w.save('mini.xls')  #保存

3.再举个自己写的读写Excel的例子
读取reflect.xls中的某些信息进行处理后写入mini.xls文件中。 

#-*- coding: utf8 -*-
import xlrd
from pyExcelerator import * 
 
w = Workbook() 
ws = w.add_sheet('Sheet1') 

fname = "reflect.xls"
bk = xlrd.open_workbook(fname)
shxrange = range(bk.nsheets)
try:
 sh = bk.sheet_by_name("Sheet1")
except:
 print "no sheet in %s named Sheet1" % fname

nrows = sh.nrows
ncols = sh.ncols
print "nrows %d, ncols %d" % (nrows,ncols)
 
cell_value = sh.cell_value(1,1)
#print cell_value
 
row_list = []
mydata = []
for i in range(1,nrows):
 row_data = sh.row_values(i)
 pkgdatas = row_data[3].split(',')
 #pkgdatas.split(',')
 #获取每个包的前两个字段
 for pkgdata in pkgdatas:
  pkgdata = '.'.join((pkgdata.split('.'))[:2])
  mydata.append(pkgdata)
 #将列表排序
 mydata = list(set(mydata))
 print mydata
 #将列表转化为字符串
 mydata = ','.join(mydata)
 #写入数据到每行的第一列
 ws.write(i,0,mydata)
 mydata = []
 row_list.append(row_data[3])
#print row_list

w.save('mini.xls')

4.现在我需要根据Excel文件中满足特定要求的apk的md5值来从服务器获取相应的apk样本,就需要这样做: 

#-*-coding:utf8-*-
import xlrd
import os
import shutil
 
fname = "./excelname.xls"
bk = xlrd.open_workbook(fname)
shxrange = range(bk.nsheets)
try:
 #打开Sheet1工作表
 sh = bk.sheet_by_name("Sheet1")
except:
 print "no sheet in %s named Sheet1" % fname
#获取行数
nrows = sh.nrows
#获取列数
ncols = sh.ncols
#print "nrows %d, ncols %d" % (nrows,ncols)
#获取第一行第一列数据
cell_value = sh.cell_value(1,1)
#print cell_value
 
row_list = []
#range(起始行,结束行)
for i in range(1,nrows):
 row_data = sh.row_values(i)
 if row_data[6] == "HXB":
  filename = row_data[3]+".apk"
  #print "%s %s %s" %(i,row_data[3],filename)
  filepath = r"./1/"+filename
  print "%s %s %s" %(i,row_data[3],filepath)
  if os.path.exists(filepath):
   shutil.copy(filepath, r"./myapk/")

补充一个使用xlwt3进行Excel文件的写操作。

import xlwt3

if __name__ == '__main__':
	
	datas = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h']]#二维数组
	file_path = 'D:\\test.xlsx'
	
	wb = xlwt3.Workbook()
	sheet = wb.add_sheet('test')#sheet的名称为test
	
	#单元格的格式
	style = 'pattern: pattern solid, fore_colour yellow; '#背景颜色为黄色
	style += 'font: bold on; '#粗体字
	style += 'align: horz centre, vert center; '#居中
	header_style = xlwt3.easyxf(style)
	
	row_count = len(datas)
	col_count = len(datas[0])
	for row in range(0, row_count): 
		col_count = len(datas[row]) 
		for col in range(0, col_count):
			if row == 0:#设置表头单元格的格式
				sheet.write(row, col, datas[row][col], header_style)
			else:
				sheet.write(row, col, datas[row][col])
	wb.save(file_path)

输出的文件内容如下图:

Python读写Excel文件的实例

注:以上代码在Python 3.x版本测试通过。

好了,python操作Excel就这么!些了,简单吧

Python 相关文章推荐
基于Python Shell获取hostname和fqdn释疑
Jan 25 Python
批处理与python代码混合编程的方法
May 19 Python
浅谈编码,解码,乱码的问题
Dec 30 Python
python统计多维数组的行数和列数实例
Jun 23 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
python 对类的成员函数开启线程的方法
Jan 22 Python
Python3实现的反转单链表算法示例
Mar 08 Python
Django上使用数据可视化利器Bokeh解析
Jul 31 Python
python实现Pyecharts实现动态地图(Map、Geo)
Mar 25 Python
Python hashlib模块的使用示例
Oct 09 Python
如何在向量化NumPy数组上进行移动窗口
May 18 Python
python简单验证码识别的实现过程
Jun 20 Python
Python修改Excel数据的实例代码
Nov 01 #Python
Python获取apk文件URL地址实例
Nov 01 #Python
Python urllib模块urlopen()与urlretrieve()详解
Nov 01 #Python
Python ZipFile模块详解
Nov 01 #Python
python标准日志模块logging的使用方法
Nov 01 #Python
python类定义的讲解
Nov 01 #Python
用实例说明python的*args和**kwargs用法
Nov 01 #Python
You might like
用PHP将数据导入到Foxmail的实现代码
2010/09/05 PHP
thinkphp控制器调度使用示例
2014/02/24 PHP
PHP读取Excel类文件
2017/05/15 PHP
PHP代码加密的方法总结
2020/03/13 PHP
用javascript实现无刷新更新数据的详细步骤 asp
2006/12/26 Javascript
js 覆盖和重载 函数
2009/09/25 Javascript
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
基于Jquery实现表单验证
2020/07/20 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码
2016/12/27 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
vue自定义指令directive的使用方法
2019/04/07 Javascript
Vue.extend 登录注册模态框的实现
2020/12/29 Vue.js
基于Python的接口测试框架实例
2016/11/04 Python
详解Django解决ajax跨域访问问题
2018/08/24 Python
Windows下PyCharm安装图文教程
2018/08/27 Python
python实现多张图片拼接成大图
2019/01/15 Python
python实现移位加密和解密
2019/03/22 Python
python excel转换csv代码实例
2019/08/26 Python
Django框架模板用法入门教程
2019/11/04 Python
python如何使用jt400.jar包代码实例
2019/12/20 Python
python实现logistic分类算法代码
2020/02/28 Python
virtualenv介绍及简明教程
2020/06/23 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
2020/12/21 Python
四年级科学教学反思
2014/02/10 职场文书
个人考核材料
2014/05/15 职场文书
投标诚信承诺书
2014/05/26 职场文书
2014财务年终工作总结
2014/12/08 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书
导游词之沈阳清昭陵
2019/12/28 职场文书
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL