本文实例讲述了Python实现的Excel文件读写类。分享给大家供大家参考。具体如下:
#coding=utf-8 ####################################################### #filename:ExcelRW.py #author:defias #date:2015-4-27 #function:read or write excel file ####################################################### import xlrd import xlwt import xlutils.copy import os.path class 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页面名称,默认值新建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列单元格数据(默认读取sheet1页第1行第1列单元格数据) print("\nxlseng.readcell():") xlseng.readcell('sheet1',2,2) #读取sheet1页第2行的数据(默认读取sheet1页第1行的数据) print("\nxlseng.readrow():") xlseng.readrow('sheet1',1) #读取sheet1页第3列的数据(默认读取sheet1页第1列的数据) print("\nxlseng.readcol():") xlseng.readcol('sheet1',2) #向第一个sheet页的第2行第4列写字符串数据‘I am writecell writed'(默认向第一个sheet页的第1行第1列写空字符串) print("\nxlseng.writecell():") xlseng.writecell('I am writecell writed',0,1,3) #向第一个sheet页写一行数据,各列的值为‘rowstr1,rowstr2,rowstr3',从第3行第4列开始写入(默认向第一个sheet页写一行数据,值为‘',从第1行第1列开始写入) print("\nxlseng.writerow():") xlseng.writerow('rowstr1,rowstr2,rowstr3',0,2,3) #向第一个sheet页写一列数据,各行的值为‘colstr1,colstr2,colstr3,colstr4',从第4行第4列开始写入(默认向第一个sheet页写一列数据,值为‘',从第1行第1列开始写入) print("\nxlseng.writecol():") xlseng.writecol('colstr1,colstr2,colstr3,colstr4',0,3,3)
希望本文所述对大家的Python程序设计有所帮助。

Python excelle dans les jeux et le développement de l'interface graphique. 1) Le développement de jeux utilise Pygame, fournissant des fonctions de dessin, audio et d'autres fonctions, qui conviennent à la création de jeux 2D. 2) Le développement de l'interface graphique peut choisir Tkinter ou Pyqt. Tkinter est simple et facile à utiliser, PYQT a des fonctions riches et convient au développement professionnel.

Python convient à la science des données, au développement Web et aux tâches d'automatisation, tandis que C convient à la programmation système, au développement de jeux et aux systèmes intégrés. Python est connu pour sa simplicité et son écosystème puissant, tandis que C est connu pour ses capacités de contrôle élevées et sous-jacentes.

Vous pouvez apprendre les concepts de programmation de base et les compétences de Python dans les 2 heures. 1. Apprenez les variables et les types de données, 2. Flux de contrôle maître (instructions et boucles conditionnelles), 3. Comprenez la définition et l'utilisation des fonctions, 4. Démarrez rapidement avec la programmation Python via des exemples simples et des extraits de code.

Python est largement utilisé dans les domaines du développement Web, de la science des données, de l'apprentissage automatique, de l'automatisation et des scripts. 1) Dans le développement Web, les cadres Django et Flask simplifient le processus de développement. 2) Dans les domaines de la science des données et de l'apprentissage automatique, les bibliothèques Numpy, Pandas, Scikit-Learn et Tensorflow fournissent un fort soutien. 3) En termes d'automatisation et de script, Python convient aux tâches telles que les tests automatisés et la gestion du système.

Vous pouvez apprendre les bases de Python dans les deux heures. 1. Apprenez les variables et les types de données, 2. Structures de contrôle maître telles que si les instructions et les boucles, 3. Comprenez la définition et l'utilisation des fonctions. Ceux-ci vous aideront à commencer à écrire des programmes Python simples.

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Chargement des fichiers de cornichons dans Python 3.6 Rapport de l'environnement Erreur: modulenotFoundError: NomoduLenamed ...


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Version Mac de WebStorm
Outils de développement JavaScript utiles

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.