Maison > Article > développement back-end > Comment implémenter la fusion de plusieurs tables dans Excel en python (avec code)
Aujourd'hui, j'utiliserai Python pour fusionner plusieurs feuilles de calcul Excel en un seul classeur. J'ai utilisé moins de 40 lignes de code pour fusionner plus de 60 classeurs Excel en un seul. .
Cet article n'utilise pas la bibliothèque openpyx, mais les bibliothèques xlrd et xlwt Bien que les fonctions de ces deux bibliothèques ne soient pas comparables à openpyx, elles peuvent faire fonctionner l'ancienne version d'Excel se terminant par xls, ce qui n'est pas le cas. supporté par openpyx
Le code
L'idée générale est la suivante
Le processus détaillé est écrit dans le code
# -*- coding: utf-8 -*- import xlrd import xlwt import os import re """ 写入工作本 """ def write_excel(path, write_sheet): # 加载工作本 book = xlrd.open_workbook(path) # 获取表单 read_sheet = book.sheet_by_name('Sheet1') # 遍历 for row in range(read_sheet.nrows): for col in range(read_sheet.ncols): write_sheet.write(row, col, read_sheet.cell_value(row,col)) # 获取根目录下所有文件名 def walk(path): for root,dirs,names in os.walk(path): list = [] for filename in names: path = os.path.join(root, filename) list.append(path) return list if __name__ == "__main__": # 创建工作本 write_book = xlwt.Workbook() # 根目录 root = r'C:\mydata\generator\excel' path_list = walk(root) for path in path_list: val = path.find("本专科") if val!=-1: # 正则匹配 ser = re.search('.*20200403(.*?).xls',path) name = ser.group(1) # 创建sheet write_sheet = write_book.add_sheet(name) # 写入 write_excel(path, write_sheet) # 保存 write_book.save(r'本专科.xls')
Merci à tous d'avoir lu, j'espère que vous en bénéficierez beaucoup.
Cet article est reproduit à partir de : https://blog.csdn.net/youku1327/article/details/105300668
Tutoriel recommandé : "Tutoriel Python"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!