Python读写Excel文件 Python读写Excel文件

Python读写Excel文件

 转载:https://www.cnblogs.com/goodhacker/archive/2013/04/12/3016183.html

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

  1.读取Excel(需要安装xlrd):  

复制代码
 1 #-*- coding: utf8 -*-
 2 import xlrd
 3  
 4 fname = "reflect.xls"
 5 bk = xlrd.open_workbook(fname)
 6 shxrange = range(bk.nsheets)
 7 try:
 8     sh = bk.sheet_by_name("Sheet1")
 9 except:
10     print "no sheet in %s named Sheet1" % fname
11 #获取行数
12 nrows = sh.nrows
13 #获取列数
14 ncols = sh.ncols
15 print "nrows %d, ncols %d" % (nrows,ncols)
16 #获取第一行第一列数据 
17 cell_value = sh.cell_value(1,1)
18 #print cell_value
19  
20 row_list = []
21 #获取各行数据
22 for i in range(1,nrows):
23     row_data = sh.row_values(i)
24     row_list.append(row_data)
复制代码

  2.写入Excel(需安装pyExcelerator)  

复制代码
1 from pyExcelerator import *
2 
3 w = Workbook()     #创建一个工作簿
4 ws = w.add_sheet('Hey, Hades')     #创建一个工作表
5 ws.write(0,0,'bit')    #在1行1列写入bit
6 ws.write(0,1,'huang')  #在1行2列写入huang
7 ws.write(1,0,'xuan')   #在2行1列写入xuan
8 w.save('mini.xls')     #保存
复制代码

  3.再举个自己写的读写Excel的例子

  读取reflect.xls中的某些信息进行处理后写入mini.xls文件中。  

复制代码
 1 #-*- coding: utf8 -*-
 2 import xlrd
 3 from pyExcelerator import *  
 4   
 5 w = Workbook()  
 6 ws = w.add_sheet('Sheet1')  
 7 
 8 fname = "reflect.xls"
 9 bk = xlrd.open_workbook(fname)
10 shxrange = range(bk.nsheets)
11 try:
12     sh = bk.sheet_by_name("Sheet1")
13 except:
14     print "no sheet in %s named Sheet1" % fname
15 
16 nrows = sh.nrows
17 ncols = sh.ncols
18 print "nrows %d, ncols %d" % (nrows,ncols)
19  
20 cell_value = sh.cell_value(1,1)
21 #print cell_value
22  
23 row_list = []
24 mydata = []
25 for i in range(1,nrows):
26     row_data = sh.row_values(i)
27     pkgdatas = row_data[3].split(',')
28     #pkgdatas.split(',')
29     #获取每个包的前两个字段
30     for pkgdata in pkgdatas:
31         pkgdata = '.'.join((pkgdata.split('.'))[:2])
32         mydata.append(pkgdata)
33     #将列表排序
34     mydata = list(set(mydata))
35     print mydata
36     #将列表转化为字符串
37     mydata = ','.join(mydata)
38     #写入数据到每行的第一列
39     ws.write(i,0,mydata)
40     mydata = []
41     row_list.append(row_data[3])
42 #print row_list
43 
44 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/")
复制代码

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

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

  1.读取Excel(需要安装xlrd):  

复制代码
 1 #-*- coding: utf8 -*-
 2 import xlrd
 3  
 4 fname = "reflect.xls"
 5 bk = xlrd.open_workbook(fname)
 6 shxrange = range(bk.nsheets)
 7 try:
 8     sh = bk.sheet_by_name("Sheet1")
 9 except:
10     print "no sheet in %s named Sheet1" % fname
11 #获取行数
12 nrows = sh.nrows
13 #获取列数
14 ncols = sh.ncols
15 print "nrows %d, ncols %d" % (nrows,ncols)
16 #获取第一行第一列数据 
17 cell_value = sh.cell_value(1,1)
18 #print cell_value
19  
20 row_list = []
21 #获取各行数据
22 for i in range(1,nrows):
23     row_data = sh.row_values(i)
24     row_list.append(row_data)
复制代码

  2.写入Excel(需安装pyExcelerator)  

复制代码
1 from pyExcelerator import *
2 
3 w = Workbook()     #创建一个工作簿
4 ws = w.add_sheet('Hey, Hades')     #创建一个工作表
5 ws.write(0,0,'bit')    #在1行1列写入bit
6 ws.write(0,1,'huang')  #在1行2列写入huang
7 ws.write(1,0,'xuan')   #在2行1列写入xuan
8 w.save('mini.xls')     #保存
复制代码

  3.再举个自己写的读写Excel的例子

  读取reflect.xls中的某些信息进行处理后写入mini.xls文件中。  

复制代码
 1 #-*- coding: utf8 -*-
 2 import xlrd
 3 from pyExcelerator import *  
 4   
 5 w = Workbook()  
 6 ws = w.add_sheet('Sheet1')  
 7 
 8 fname = "reflect.xls"
 9 bk = xlrd.open_workbook(fname)
10 shxrange = range(bk.nsheets)
11 try:
12     sh = bk.sheet_by_name("Sheet1")
13 except:
14     print "no sheet in %s named Sheet1" % fname
15 
16 nrows = sh.nrows
17 ncols = sh.ncols
18 print "nrows %d, ncols %d" % (nrows,ncols)
19  
20 cell_value = sh.cell_value(1,1)
21 #print cell_value
22  
23 row_list = []
24 mydata = []
25 for i in range(1,nrows):
26     row_data = sh.row_values(i)
27     pkgdatas = row_data[3].split(',')
28     #pkgdatas.split(',')
29     #获取每个包的前两个字段
30     for pkgdata in pkgdatas:
31         pkgdata = '.'.join((pkgdata.split('.'))[:2])
32         mydata.append(pkgdata)
33     #将列表排序
34     mydata = list(set(mydata))
35     print mydata
36     #将列表转化为字符串
37     mydata = ','.join(mydata)
38     #写入数据到每行的第一列
39     ws.write(i,0,mydata)
40     mydata = []
41     row_list.append(row_data[3])
42 #print row_list
43 
44 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/")
复制代码

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

猜你喜欢

转载自www.cnblogs.com/yuany66/p/11781022.html