excel数据格式化输出

来源:互联网 发布:广场舞视频下载软件 编辑:程序博客网 时间:2024/06/05 15:09
#!coding:utf-8# Author:pymingmingimport xlrd #导入excel库class Person():    def __init__(self, name, number, _class):        self.name = name        self.number = number        self._class = _class    def person_message(self):        info = '''\033[31;1m----------%s-----------\033[0m        Name:%s        Number:%s        Class:%s'''%( self.name.title(), self.name.title(), self.number, self._class)        print(info)def read(file, sheet_index=0): #sheet_index=0 读取sheet1,等于1时读取sheet2    workbook = xlrd.open_workbook(file) #将数据存于wookbook    sheet = workbook.sheet_by_index(sheet_index)#sheet的一个索引    print("工作表名称:", sheet.name, "行数:", sheet.nrows, "列数:", sheet.ncols )    data = []    for i in range(0, sheet.nrows): #从第几行读取,按行读取        data.append(sheet.row_values(i))#将读取的数据追加到列表    return data #返回列表if __name__ == '__main__': #文件作为脚本直接执行时才会被执行,而import到其他脚本中是不会被执行    message = (read(r'C:\Users\zhuxueming\Desktop\生物所.xls')) #输出def read()信息for L in message:    every_message = Person(L[0][0]+'**', str(L[1])[:3]+'*'+str(L[1])[4:7], L[2][:2]+'*'+L[2][3:]) #定义类中的格式化数据    every_message.person_message() #输出类中的def函数值


----------姜**-----------        Name:姜**        Number:215*613        Class:C-*02----------张**-----------        Name:张**        Number:215*613        Class:C-*16----------吴**-----------        Name:吴**        Number:115*605        Class:农科*----------徐**-----------        Name:徐**        Number:215*614        Class:C-*16----------陈**-----------        Name:陈**        Number:215*613        Class:C-*14----------刘**-----------        Name:刘**        Number:215*611        Class:C-*04----------王**-----------        Name:王**        Number:115*605        Class:C-*02----------张**-----------        Name:张**        Number:215*612        Class:C-*02----------傅**-----------        Name:傅**        Number:115*605        Class:C-*04----------吕**-----------        Name:吕**        Number:215*611        Class:C-*04----------张**-----------        Name:张**        Number:215*614        Class:C-*16