Python xlwd 读取excel xlwt 写入excel xlutils 修改excel

一、读取excel

# coding:utf-8

import xlrd

class KenExcelRead:
    # Manage Excel Read

    def __init__(self,fileReadName):
        self.fileReadName = fileReadName
        self.open()

    def __isset(self,varName):
        try:
            type(eval(varName))
        except Exception:
            return 0
        else:
            return 1

    def __del__(self):
        del self.fileReadOpen

    # open Excel
    def open(self,newFileName):
        try:
            self.fileReadOpen = xlrd.open_workbook(newFileName)
            self.fileReadName = newFileName
        except Exception, e:
            print "Cann't Open Excel:",e
    def open(self):
        # self.fileReadOpen exist 
        if self.__isset("self.fileReadOpen"):
            del self.fileReadOpen
        try:
            self.fileReadOpen = xlrd.open_workbook(self.fileReadName)
        except Exception, e:
            print "Cann't Open Excel:",e

    # get All Sheets
    def getAllSheets(self):
        return self.fileReadOpen.sheets()

    # get Sheets Num
    def getSheetsNum(self):
        return len(self.fileReadOpen.sheet_names())

    # get Sheet
    def getSheet(self,key):
        if isinstance(key,str):
            # by sheet name
            workSheet = self.fileReadOpen.sheet_by_name(key)
        else:
            # by sheet index
            workSheet = self.fileReadOpen.sheet_by_index(key)
        return workSheet

    # get Sheet rows cols
    def getSheetRowAndColLen(self,key):
        temSheet = getSheet(key)    
        return (temSheet.nrows,temSheet.ncols)
    def getSheetRowAndColLen(self):      
        return (self.currentSheet.nrows,self.currentSheet.ncols)

    def getSheetNrows(self,key):
        return self.getSheet(key).nrows
    def getSheetNrows(self):
        return self.currentSheet.nrows

    def getSheetNcols(self,key):
        return self.getSheet(key).ncols
    def getSheetNcols(self):
        return self.currentSheet.ncols

    # get Sheet Value
    def getCellValue(self,row,col,key):
        return self.getSheet(key).cell_value(row,col)
    def getCellValue(self,row,col):
        return self.currentSheet.cell_value(row,col)

    # set Current Sheet
    def setCurrentSheet(self,key):
        self.currentSheet = self.getSheet(key)

    # init Row Index
    def initRowIndex(self,index = 0):
        self.rowIndex = index

    # next Row
    def nextRow(self):
        ret = self.currentSheet.row_values(self.rowIndex)
        self.rowIndex += 1
        return ret

    # is Row Done
    def isRowContinue(self):
        if self.rowIndex < self.getSheetNrows() :
            return 1
        else:
            return 0



excel = KenExcelRead("train.xlsx")
excel.setCurrentSheet(0)
excel.initRowIndex()
while excel.isRowContinue():
    print excel.nextRow()

二、写入excel

三、修改excel

四、引用

python高手之路python处理excel文件(方法汇总)

你可能感兴趣的:(python,python,excel)