Python, das viele Excel zu einem Excel zusammenführt

Da 30 Einstellungsdateien Excel sind und alle sorgfältig als separate Dateien gesendet werden Ich dachte, dass das Öffnen jedes einzelnen eine Verletzung der grundlegenden Menschenrechte darstellen würde, also bat ich Python, dies zu tun.

Strategie

Legen Sie das gesamte Excel in einen Ordner, erstellen Sie eine Python im selben Ordner. Beschreiben Sie den gesamten Inhalt des ersten Blattes der Datei mit dem Namen all.xlsx.

Trainieren

Dateipositionierung

.
├── all.xlsx         #Das endgültige Excel
├── excel_merge.py   #Python, um diesmal zu machen
├── site-packages    #Enthält das zu verwendende Paket. Diesmal wird nur Numpy verwendet.
│   ├── bin
│   ├── numpy
│   └── numpy-1.18.5.dist-info
├── hogehoge1.xlsx   #Eine große Menge von Excel höflich gesendet
├── hogehoge2.xlsx
・ ・ ・
└── hogehoge30.xlsx

Installieren Sie numpy

pip install numpy -t site-packages/

Wenn Sie den Ordnernamen mit -t angeben, wird die Datei vor Ort erweitert und installiert.

Erstellen Sie excel_merge.py

Lassen Sie uns eine Quelle wie diese schreiben und speichern

import os, sys, glob
sys.path.append(os.path.join(os.path.dirname(__file__), 'site-packages'))
import openpyxl as px

NEW_FILE = "all.xlsx"

#Holen Sie sich alle Excel-Dateien
files = glob.glob("./*.xls*")

all_data = []
for f in files:
    #Ignorieren Sie alle offenen Excel. alles.Ignoriere xlsx, auch wenn es existiert.
    if f.startswith('./~')  or f == NEW_FILE:
        continue
    #Bitte öffnen Sie Excel
    wb=px.load_workbook(f, data_only=True)
    #Bitte öffnen Sie das Blatt
    ws = wb.worksheets[0]
    #Lesen Sie das Blatt und erhalten Sie alle Zeilen
    for row in ws.iter_rows(min_row=2):
        #Wenn eine unnötige Zeile vorhanden ist, überspringen Sie diese.
        if row[0].value is None or \
            not str(row[0].value).strip() or \
            row[1].value is None or \
            row[0].value == 'nanika zyogai sitai mozi':
            continue
        values = []
        #Holen Sie sich Daten, indem Sie alle Zellen lecken
        for col in row:
            values.append(col.value)
        #Speichern Sie alle Zellendaten in einem Array
        all_data.append(values)

#Von hier aus alle.Arbeite daran, xlsx zu machen
# print(all_data)
wb = px.Workbook()
ws = wb.worksheets[0]
start_row = 2
start_col = 3
#Schreiben Sie alle Zellendaten der Reihe nach
for y, row in enumerate(all_data):
    for x, cell in enumerate(row):
        ws.cell(row=start_row + y,
                    column=start_col + x,
                    value=all_data[y][x])

#speichern als
wb.save(NEW_FILE)

Recommended Posts

Python, das viele Excel zu einem Excel zusammenführt
Verbinde viel Python oder und und
Python-Code, der zusammenhängende Leerzeichen in einem entfernt
Einfacher Vergleich von Python-Bibliotheken, die Excel betreiben
[Python] Ein Programm, das die Anzahl der Täler zählt
Ein Liner, der mit Python ein Umfangsverhältnis von 1000000 Stellen ausgibt
Python + Selen zu GW viele Mail-Anzeigen
[Python] Ein Programm, das die Positionen von Kängurus vergleicht.
Python-Programm, das ical-Daten in Text konvertiert
Ein Skript, das mehrere Seiten einer PDF-Datei zu einer Seite ohne Ränder kombiniert
Ein Hinweis, der einen Job in Python implementiert, der eine GCS-Datei in BigQuery lädt
Ein Skript, das Ihre bevorzugten Python-Module und Binärdateien in einer einzigen Lambda-Ebene kombiniert
Eine Funktion, die iterable in Python in N Teile unterteilt
Ich möchte viele Prozesse von Python aus starten
[Blender x Python] Lassen Sie uns eine Menge Susanne ordentlich arrangieren !!
Teilen wir eine Reihe von ganzen Zahlen auf einmal in Reste auf
Eine Reihe von Skriptdateien, die Wordcloud mit Python3 ausführen
Python-Skript, das den Inhalt zweier Verzeichnisse vergleicht
[Python] Eine Geschichte, die in eine Rundungsfalle zu geraten schien
[Python] Erstellen eines GUI-Tools, das die CSV von Temperaturanstiegsdaten in Excel automatisch verarbeitet
Eine Aufzeichnung zum Patchen eines Python-Pakets
Eine gute Beschreibung der Python-Dekorateure
[Python] Ein Memorandum der schönen Suppe4
Eine kurze Zusammenfassung der Python-Sammlung
Aus einem Buch, das Programmierer lernen können ... (Python): Überprüfung von Arrays
Ich habe viele Dateien für die RDP-Verbindung mit Python erstellt
Eine Funktion, die die Verarbeitungszeit einer Methode in Python misst
Dies und das von Python-Eigenschaften
[Python] Ein Programm, das jedes Element der Liste einzeln vergleicht und gewinnt oder verliert. Postleitzahl ()
[Python] Ein Hinweis, dass ich das Verhalten von matplotlib.pyplot zu verstehen begann
Die Geschichte, ein Modul zu erstellen, das E-Mails mit Python überspringt
[Python] Ein Programm, das den Inhalt der Liste nach links dreht
Ich habe viel recherchiert, wie Python ausgeführt wird
[Python] Ein Programm, das die Anzahl der Schokoladensegmente berechnet, die die Bedingungen erfüllen
[Python] Ein Programm, das die Anzahl der gepaarten Socken berechnet
Python-E-Book-Zusammenfassung nützlich für die frei lesbare Datenanalyse
Ein Python-Programm, das die Größe eines Videos ändert und es in ein Bild verwandelt
Ich möchte einen Teil der Excel-Zeichenfolge mit Python einfärben
Code lesen von faker, einer Bibliothek, die Testdaten in Python generiert
Aus einem Buch, das die Denkweise des Programmierers interessanterweise gelernt hat (Python)
[Python] Hinweis: Selbst erstellte Funktion zum Ermitteln des Bereichs der Normalverteilung
[Python] Ein Programm, das Treppen mit # erstellt
Zeigen Sie eine Liste der Alphabete in Python 3 an
Erstellen Sie ein Beziehungsdiagramm von Python-Modulen
[Python] Ruft eine Liste der Instanzvariablen ab
[Python] [Meta] Ist der Python-Typ ein Typ?
[Python] Erstellen Sie einen LineBot, der regelmäßig ausgeführt wird
Eine typisierte Welt, die mit Python beginnt
Die Geschichte der Verarbeitung A von Blackjack (Python)
Ein Programm, das Python zum Abspielen von Junk verwendet
Kombinieren Sie Python-Funktionsargumente zu einer einzigen Variablen
Führen Sie graphviz in eine tragbare Python-Umgebung ein
Kombinieren Sie mehrere Python-Dateien zu einer Python-Datei
[Python] Nur eine Liste der Ordner abrufen
[Python] Ein Programm, das die Partitur rundet
Memorandum zum Löschen von Python-Strings
Ich habe versucht, mit Python viele Bilder wie das Favicon des Google-Kalenders zu generieren und in Vues Projekt zu integrieren
Klasse für PYTHON, die ohne Kenntnis von LDAP betrieben werden kann