Python读写Excel文件的实例

作者:zxhpj 时间:2023-03-05 03:25:10 

最近由于经常要用到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,Excel
0
投稿

猜你喜欢

  • Dreamweaver使用快技法十三则总结

    2008-05-01 17:32:00
  • sql语句查询重复的数据(最新推荐)

    2024-01-13 08:01:23
  • SQLserver 数据库危险存储过程删除与恢复方法

    2011-09-30 11:33:54
  • python实现梯度下降算法

    2023-09-22 19:09:39
  • python根据出生日期获得年龄的方法

    2022-05-22 23:52:46
  • php中获取指定IP的物理地址的代码(正则表达式)

    2023-11-23 07:04:36
  • 详解Python垃圾回收机制和常量池的验证

    2022-12-28 09:58:29
  • Lost connection to MySQL server at 'reading authorization packet', system error: 0

    2024-01-20 19:06:26
  • Python request设置HTTPS代理代码解析

    2023-01-15 00:48:24
  • javascript如何判断输入的url是否正确

    2024-06-10 00:57:55
  • Python中利用sorted()函数排序的简单教程

    2022-09-13 20:26:36
  • Oracle中sql语句如何执行日志查询

    2024-01-23 21:43:26
  • Python办公自动化PPT批量转换操作

    2023-11-07 16:54:20
  • 简单的文本内容处理工具

    2010-01-28 12:31:00
  • python配置mssql连接的方法

    2021-05-12 08:03:28
  • idea创建springMVC框架和配置小文件的教程图解

    2021-04-03 15:22:54
  • 在docker上安装运行mysql实例

    2024-01-19 10:44:26
  • python getopt 参数处理小示例

    2021-03-02 13:05:02
  • python中必会的四大高级数据类型(字符,元组,列表,字典)

    2023-01-10 00:54:20
  • Python 二分查找之bisect库的使用详解

    2023-10-03 01:24:29
  • asp之家 网络编程 m.aspxhome.com