您的位置:首页 > 编程语言 > Python开发

Python使用xlrd,xlwt操作excel例子

2014-12-18 23:27 756 查看
'''
Created on 2014-11-6

@author: Administrator
'''
import xdrlib,sys,os
import xlrd
from socket import *
from time import ctime
import socket
import base64
import xlwt

reload(sys)
sys.setdefaultencoding("utf-8")

class ExcelParser:
def open_excel(self,file='src_table.xls'):
try:
data=xlrd.open_workbook(file)
return data
except Exception as e:
print "open excel file %s failed. %s" %(file,str(e))
print str(e)

#file:Excel file path
#colnameindex:
def excel_table_byindex(self,file='src_table.xls',colnameindex=0,by_index=0):
data = self.open_excel(file)
table = data.sheets()[by_index]
nrows = table.nrows #line
ncols = table.ncols #col
colnames =  table.row_values(colnameindex) #get
list =[]
for rownum in range(1,nrows):

row = table.row_values(rownum)
if row:
app = {}
for i in range(len(colnames)):
app[colnames[i]] = row[i]
list.append(app)
return list

#file:Excel
#colnameindex:,by_name:Sheet1
def excel_table_byname(self,file='src_table.xls',colnameindex=0,by_name=u'Sheet1'):
data = self.open_excel(file)
table = data.sheet_by_name(by_name)
nrows = table.nrows #line count
colnames =  table.row_values(colnameindex) #
list =[]
for rownum in range(1,nrows):
row = table.row_values(rownum)
if row:
app = {}
for i in range(len(colnames)):
app[colnames[i]] = row[i]
list.append(app)
return list

if __name__ == '__main__':
path="D:\\ips.xls"
parser=ExcelParser()
tables = parser.excel_table_byindex(path,0,0)
for row in tables:
print str(row['PapName'])
try:
print u"%s\t%s" %(str(row['ID']),str(row['REQ']))
except Exception as ex:
print "read %s error. %s" %(str(row['ID']),str(ex))
continue
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: