excel表工具

excel应用

import xlrd
from xlutils.copy import copy

class ExcelTools():

    def __init__(self,data_file='../datas/datas.xlsx'):
        self.workbook=xlrd.open_workbook(data_file)
        self.copy_workbook=copy(self.workbook)

    def get_all_sheet_data(self,sheet_name): #单表的所有数据

        data_list=[]
        sheet=self.workbook.sheet_by_name(sheet_name) #根据表名读取
        for rowes in range(sheet.nrows):
            #取出每行数据加入列表
            row=sheet.row_values(rowes)
            data_list.append(row)
        return data_list

    def get_all_sheet_names(self,name=None): #所有表名
        names=self.workbook.sheet_names()
        if name!=None:
            indexed=names.index(name)
            print(indexed)
            return indexed

        return names

    def get_print_data(self,data): #打印所有数据
        rows=len(data)
        for i in range(rows):
            if i!=0:
                rowed=data[i]
                print(rowed)

    def get_nrows(self,sheet_name): #行数
        sheet=self.workbook.sheet_by_name(sheet_name)
        nrows=sheet.nrows
        return nrows

    def write_data_to_sheet(self,sheet_index,row,col,value):    #写入表
        sheet = self.copy_workbook.get_sheet(sheet_index)
        sheet.write(row,col,value)

    def save_workbook(self,report_name="../report/report.xlsx"):    #保存表
        self.copy_workbook.save(report_name)


if __name__ == '__main__':

    util=ExcelTools('../datas/datas.xlsx')
    names=util.get_all_sheet_names()
    data=util.get_all_sheet_data(names[0])
    util.get_print_data(data)
    util.get_nrows(names[0])
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容