Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie die Zusammenführung mehrerer Tabellen in Excel in Python (mit Code)

So implementieren Sie die Zusammenführung mehrerer Tabellen in Excel in Python (mit Code)

烟雨青岚
烟雨青岚nach vorne
2020-06-30 13:41:045884Durchsuche

So implementieren Sie die Zusammenführung mehrerer Tabellen in Excel in Python (mit Code)

Heute werde ich Python verwenden, um mehrere Excel-Arbeitsblätter in einer Arbeitsmappe zusammenzuführen. Ich habe weniger als 40 Zeilen Code verwendet, um mehr als 60 Excel-Arbeitsmappen in einer zusammenzuführen .

In diesem Artikel wird nicht die Openpyx-Bibliothek verwendet, sondern die Bibliotheken xlrd und xlwt. Obwohl die Funktionen dieser beiden Bibliotheken nicht mit openpyx vergleichbar sind, können sie die alte Version von Excel mit der Endung xls bedienen, was nicht der Fall ist unterstützt von openpyx

Der Code

Die allgemeine Idee ist wie folgt

  • Traverse, um alle Excel-Dateien zu erhalten im Stammverzeichnis
  • Entsprechend dem Excel-Namen, um einen bestimmten Excel-Typ zu erhalten
  • Erstellen Sie eine Arbeitsmappe zum Schreiben kopierter Daten
  • Jedes Excel verfügt über ein Sheet1, eine Schleife die Zellen und schreiben Sie die erstellte Arbeitsmappe

Der detaillierte Prozess ist im Code geschrieben

# -*- 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')

Vielen Dank an alle fürs Lesen, ich hoffe, Sie werden viel davon profitieren.

Dieser Artikel ist reproduziert von: https://blog.csdn.net/youku1327/article/details/105300668

Empfohlenes Tutorial: „Python-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Zusammenführung mehrerer Tabellen in Excel in Python (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen