国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現(xiàn)的Excel文件讀寫類

2019-11-25 17:06:39
字體:
供稿:網(wǎng)友

本文實例講述了Python實現(xiàn)的Excel文件讀寫類。分享給大家供大家參考。具體如下:

#coding=utf-8########################################################filename:ExcelRW.py#author:defias#date:2015-4-27#function:read or write excel file#######################################################import xlrdimport xlwtimport xlutils.copy import os.pathclass XlsEngine(): """ The XlsEngine is a class for excel operation Usage:   xlseng = XlsEngine('filePath')  """ def __init__(self,xlsname):  """  define class variable  """  self.xls_name = xlsname #file name  self.xlrd_object = None #workbook object  self.isopentrue = False #file open flag def open(self):  """  open a xls file  Usage:   xlseng.open()  """  try:   self.xlrd_object = xlrd.open_workbook(self.xls_name)   self.isopentrue = True   print('[%s,%s].'%(self.isopentrue,self.xlrd_object))  except:   self.isopentrue = False   self.xlrd_object = None   print('open %s failed.'%self.xls_name) def info(self):  """  show xls file information  Usage:   xlseng.info()    """  if self.isopentrue == True:   for sheetname in self.xlrd_object.sheet_names():    worksheet = self.xlrd_object.sheet_by_name(sheetname)    print('%s:(%d row,%d col).'%(sheetname,worksheet.nrows,worksheet.ncols))  else:   print('file %s is not open.'%self.xls_name) def readcell(self,sheetname='sheet1',rown=0,coln=0):  """  read file's a cell content  Usage:   xlseng.readcell('sheetname',rown,coln)  """  try:   if self.isopentrue == True:    worksheets = self.xlrd_object.sheet_names()    if sheetname not in worksheets:     print('%s is not exit.'%sheetname)     return False    worksheet = self.xlrd_object.sheet_by_name(sheetname)    cell = worksheet.cell_value(rown,coln)    print('[file:%s,sheet:%s,row:%s,col:%s]:%s.'%(self.xls_name,sheetname,rown,coln,cell))   else:    print('file %s is not open.'%self.xls_name)  except:   print('readcell is false! please check sheetn rown and coln is right.') def readrow(self,sheetname='sheet1',rown=0):  """  read file's a row content  Usage:   xlseng.readrow('sheetname',rown)  """  try:   if self.isopentrue == True:    worksheets = self.xlrd_object.sheet_names()    if sheetname not in worksheets:     print('%s is not exit.'%sheetname)     return False        worksheet = self.xlrd_object.sheet_by_name(sheetname)    row = worksheet.row_values(rown)    print('[file:%s,sheet:%s,row:%s]:%s.'%(self.xls_name,sheetname,rown,row))   else:    print('file %s is not open.'%self.xls_name)  except:   print('readrow is false! please check sheetn rown is right.') def readcol(self,sheetname='sheet1',coln=0):  """  read file's a col content  Usage:   xlseng.readcol('sheetname',coln)  """  try:   if self.isopentrue == True:    worksheets = self.xlrd_object.sheet_names()    if sheetname not in worksheets:     print('%s is not exit.'%sheetname)     return False    worksheet = self.xlrd_object.sheet_by_name(sheetname)    col = worksheet.col_values(coln)    print('[file:%s,sheet:%s,col:%s]:%s.'%(self.xls_name,sheetname,coln,col))   else:    print('file %s is not open.'%self.xls_name)  except:   print('readcol is false! please check sheetn coln is right.') def writecell(self,value='',sheetn=0,rown=0,coln=0):  """  write a cell to file,other cell is not change  Usage:    xlseng.writecell('str',sheetn,rown,coln)  """  try:   if self.isopentrue == True:    xlrd_objectc = xlutils.copy.copy(self.xlrd_object)    worksheet = xlrd_objectc.get_sheet(sheetn)    worksheet.write(rown,coln,value)    xlrd_objectc.save(self.xls_name)    print('writecell value:%s to [sheet:%s,row:%s,col:%s] is ture.'%(value,sheetn,rown,coln))   else:    print('file %s is not open.'%self.xls_name)  except:   print('writecell is false! please check.') def writerow(self,values='',sheetn=0,rown=0,coln=0):  """  write a row to file,other row and cell is not change  Usage:   xlseng.writerow('str1,str2,str3...strn',sheetn,rown.coln)  """  try:   if self.isopentrue == True:    xlrd_objectc = xlutils.copy.copy(self.xlrd_object)    worksheet = xlrd_objectc.get_sheet(sheetn)    values = values.split(',')    for value in values:     worksheet.write(rown,coln,value)     coln += 1    xlrd_objectc.save(self.xls_name)    print('writerow values:%s to [sheet:%s,row:%s,col:%s] is ture.'%(values,sheetn,rown,coln))   else:    print('file %s is not open.'%self.xls_name)  except:   print('writerow is false! please check.') def writecol(self,values='',sheetn=0,rown=0,coln=0):  """  write a col to file,other col and cell is not change  Usage:   xlseng.writecol('str1,str2,str3...',sheetn,rown.coln)  """  try:   if self.isopentrue == True:    xlrd_objectc = xlutils.copy.copy(self.xlrd_object)    worksheet = xlrd_objectc.get_sheet(sheetn)    values = values.split(',')    for value in values:     worksheet.write(rown,coln,value)     rown += 1    xlrd_objectc.save(self.xls_name)    print('writecol values:%s to [sheet:%s,row:%s,col:%s] is ture.'%(values,sheetn,rown,coln))   else:    print('file %s is not open.'%self.xls_name)  except:   print('writecol is false! please check.') def filecreate(self,sheetnames='sheet1'):  """  create a empty xlsfile  Usage:   filecreate('sheetname1,sheetname2...')  """  try:   if os.path.isfile(self.xls_name):    print('%s is exit.'%self.xls_name)    return False   workbook = xlwt.Workbook()   sheetnames = sheetnames.split(',')   for sheetname in sheetnames:    workbook.add_sheet(sheetname,cell_overwrite_ok=True)   workbook.save(self.xls_name)   print('%s is created.'%self.xls_name)  except:   print('filerator is false! please check.') def addsheet(self,sheetnames='sheet1'):  """  add sheets to a exit xlsfile  Usage:   addsheet('sheetname1,sheetname2...')  """  try:   if self.isopentrue == True:    worksheets = self.xlrd_object.sheet_names()    xlrd_objectc = xlutils.copy.copy(self.xlrd_object)    sheetnames = sheetnames.split(',')    for sheetname in sheetnames:     if sheetname in worksheets:      print('%s is exit.'%sheetname)      return False    for sheetname in sheetnames:     xlrd_objectc.add_sheet(sheetname,cell_overwrite_ok=True)    xlrd_objectc.save(self.xls_name)    print('addsheet is ture.')   else:    print("file %s is not open /n"%self.xls_name)  except:   print('addsheet is false! please check.')"""  def chgsheet(self,sheetn,values):  def clear(self):""" if __name__ == '__main__':  #初始化對象 xlseng = XlsEngine('E://Code//Python//test2.xls') #新建文件,可以指定要新建的sheet頁面名稱,默認(rèn)值新建sheet1 #print("/nxlseng.filecreate():") #xlseng.filecreate('newesheet1,newesheet2,newesheet3') #打開文件 print("xlseng.open():") xlseng.open() #添加sheet頁 print("/nxlseng.addsheet():") xlseng.addsheet('addsheet1,addsheet2,addsheet3') #輸出文件信息 print("/nxlseng.info():") xlseng.info() #讀取sheet1頁第3行第3列單元格數(shù)據(jù)(默認(rèn)讀取sheet1頁第1行第1列單元格數(shù)據(jù)) print("/nxlseng.readcell():") xlseng.readcell('sheet1',2,2) #讀取sheet1頁第2行的數(shù)據(jù)(默認(rèn)讀取sheet1頁第1行的數(shù)據(jù)) print("/nxlseng.readrow():") xlseng.readrow('sheet1',1) #讀取sheet1頁第3列的數(shù)據(jù)(默認(rèn)讀取sheet1頁第1列的數(shù)據(jù)) print("/nxlseng.readcol():") xlseng.readcol('sheet1',2) #向第一個sheet頁的第2行第4列寫字符串?dāng)?shù)據(jù)‘I am writecell writed'(默認(rèn)向第一個sheet頁的第1行第1列寫空字符串) print("/nxlseng.writecell():") xlseng.writecell('I am writecell writed',0,1,3) #向第一個sheet頁寫一行數(shù)據(jù),各列的值為‘rowstr1,rowstr2,rowstr3',從第3行第4列開始寫入(默認(rèn)向第一個sheet頁寫一行數(shù)據(jù),值為‘',從第1行第1列開始寫入) print("/nxlseng.writerow():") xlseng.writerow('rowstr1,rowstr2,rowstr3',0,2,3) #向第一個sheet頁寫一列數(shù)據(jù),各行的值為‘colstr1,colstr2,colstr3,colstr4',從第4行第4列開始寫入(默認(rèn)向第一個sheet頁寫一列數(shù)據(jù),值為‘',從第1行第1列開始寫入) print("/nxlseng.writecol():") xlseng.writecol('colstr1,colstr2,colstr3,colstr4',0,3,3)

希望本文所述對大家的Python程序設(shè)計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 武定县| 宁陕县| 彰化县| 明光市| 宁南县| 离岛区| 莲花县| 庆安县| 潮州市| 晋中市| 新田县| 桂平市| 滕州市| 资阳市| 平远县| 扎赉特旗| 红桥区| 许昌市| 江陵县| 和龙市| 东辽县| 陆良县| 东宁县| 通山县| 沙河市| 莒南县| 富民县| 灵石县| 霍林郭勒市| 临桂县| 梅河口市| 杭锦后旗| 资阳市| 新沂市| 烟台市| 旬阳县| 黄山市| 西林县| 巧家县| 包头市| 微山县|