python 创建,读取excle

it2025-04-17  4

import os import xlwt import xlrd from xlutils.copy import copy class ExcelUtil(): def __init__(self,excel_path,title_value,sheet_name="Sheet1"): self.excelPath = excel_path self.sheetName = sheet_name self.titleValue = title_value def createExcelXls(self): index = len(self.titleValue) # 获取需要写入数据的行数 workbook = xlwt.Workbook() # 新建一个工作簿 sheet = workbook.add_sheet(sheet_name) # 在工作簿中新建一个表格,就是右下角sheet表的名字,默认sheet1,sheet2...因为一个excel中有很多表格,当要读取哪个表格就要设置 for i in range(0, index): for j in range(0, len(self.titleValue[i])): sheet.write(i, j, self.titleValue[i][j]) workbook.save(self.excelPath) # 保存工作簿 print("{} xls create success!".format(self.excelPath)) def readExcel(self): if not os.path.exists(self.excelPath): print("{}is not exists".format(self.excelPath)) return [] self.data = xlrd.open_workbook(self.excelPath) self.table = self.data.sheet_by_name(self.sheetName) # 获取第一行作为key值 self.keys = self.table.row_values(0) # 获取总行数 self.rowNum = self.table.nrows # 获取总列数 self.colNum = self.table.ncols if self.rowNum <= 1: print("总行数小于1") # # 存入list 中 # else: # excel_value = [] # j = 1 # for i in list(range(self.rowNum - 1)): # s = {} # dict_value = {} # # 从第二行取对应values值 # s['rowNum'] = i + 2 # values = self.table.row_values(j) # # print(values) # for x in list(range(self.colNum)): # s[self.keys[x]] = values[x] # # 存入字典,然后字典存入list中 # # excel_value.append(values) # j += 1 # 存入字典,然后字典存入list中 else: excel_value = {} j = 1 for i in list(range(self.rowNum - 1)): values = self.table.row_values(j) print(values) excel_value.setdefault(values[0],[]).append(values[1:]) print(excel_value) j += 1 return excel_value def addContent2Excel(excel_path, value): index = len(value) workbook = xlrd.open_workbook(excel_path) sheets = workbook.sheet_names() worksheet = workbook.sheet_by_name(sheets[0]) rows_old = worksheet.nrows new_workbook = copy(workbook) new_worksheet = new_workbook.get_sheet(0) for i in range(0, index): for j in range(0, len(value[i])): new_worksheet.write(i + rows_old, j, value[i][j]) new_workbook.save(excel_path) print("xls append success!") def parseExcel(excel_path): pass if __name__ == "__main__": excel_path = "D:/work/test/test.xls" title_value = [["file_name","size","row","col"]] # 表格每一列代表的什么 sheet_name = "test_data" excel_util = ExcelUtil(excel_path,title_value,sheet_name) excel_util.createExcelXls() value_list = [ ["000.jpg","128","3","4"], ["001.jpg","23","5","6"], ["002.txt","345","8","9"]] addContent2Excel(excel_path,value_list) value_list = [ ["003.jpg", "128", "3", "4"], ["004.jpg", "23", "5", "6"], ["002.txt", "345", "8", "9"]] addContent2Excel(excel_path, value_list) excel_value = excel_util.readExcel()

 

参考:

https://blog.csdn.net/u013250071/article/details/81911434

https://blog.csdn.net/u013155359/article/details/99831617

最新回复(0)