[PYTHON] So fügen Sie eine CSV-Datei mit Pandas in eine Excel-Datei ein

Hintergrund

Das Einfügen einer CSV-Datei mit VBA von Excel ist problematisch, da Sie viel Code schreiben müssen. Ich habe versucht herauszufinden, ob es eine einfache Möglichkeit gibt, in Python zu schreiben.

Zweck

Fügen Sie den CSV-Inhalt in das angegebene Excel-Blatt ein.

Installieren Sie xlwings

Python verfügt über mehrere Module für die Arbeit mit Excel. Das vielleicht berühmteste ist Openpyxl. Obwohl Openpyxl schnell ist, gibt es viele Probleme (Formatkollaps usw.) Dieses Mal möchte ich xlwings verwenden.

Wenn xlwings nicht installiert ist, installieren Sie es mit dem folgenden Befehl.

$ pip install xlwings

Code

Da es scheint, dass es in Zukunft häufig verwendet wird, habe ich es zu einer Funktion gemacht. Nach dem Lesen der CSV-Datei mit Pandas wird sie in Zelle A1 des angegebenen Blattes eingefügt. Bei VBA ist es erforderlich, CSV Zeile für Zeile zu lesen und auszugeben. Mit Pandas ist es sehr einfach zu schreiben.

import pandas as pd
import xlwings as xw

def csv_to_sheet(wb_name, ws_name, csv_name, save_flg=True, quit_flg=True):
    """\
Bedienungsanleitung:
Eine Funktion, die den Inhalt von CSV in ein bestimmtes Blatt kopiert

Argumentbeschreibung:
        wb_Name: Name der Arbeitsmappe
        ws_Name: Blattname
        csv_Name: CSV-Dateiname
        save_flg: Das Überschreiben wird standardmäßig durchgeführt.
        quit_flg: Standard ist geschlossen
    """

    df = pd.read_csv(csv_name,encoding='cp932', index_col=0) #Lesen Sie die CSV-Datei mit DataFrame

    wb = xw.Book(wb_name) #Erstellen eines Arbeitsmappenobjekts
    wss = wb.sheets
    ws = wss[ws_name] #Erstellen eines Arbeitsblattobjekts

    ws.range('A1').value = df #Fügen Sie DataFrame ein

    #save_Überschreiben, wenn flg True ist
    if save_flg:
        wb.save(path=None)

    #quit_Schließen Sie Excel, wenn flg True ist
    if quit_flg:
        app = xw.apps.active  
        app.quit() #Beenden Sie Excel

Wie benutzt man

Bitte ändern Sie die Excel-Datei, den Blattnamen und die CSV-Datei nach Ihren Wünschen. Wenn Sie nicht überschreiben möchten, setzen Sie save_flg = False im Argument. Wenn Sie die Bearbeitung fortsetzen möchten, ohne die Datei zu schließen, übergeben Sie quit_flg = False.

wb_name = 'Excel-Dateiname.xlsx'
ws_name = 'Blattname'
csv_name = 'CSV-Datei'
csv_to_sheet(wb_name, ws_name, csv_name)

Recommended Posts

So fügen Sie eine CSV-Datei mit Pandas in eine Excel-Datei ein
[Python] So geben Sie eine Pandas-Tabelle in eine Excel-Datei aus
So verwandeln Sie eine .py-Datei in eine .exe-Datei
Versuchen Sie, eine Excel-Datei mit Python (Pandas / XlsxWriter) zu betreiben
Versuchen Sie, eine Excel-Datei mit Python (Pandas / XlsxWriter) zu betreiben
Fügen Sie das Bild mit Pythons openpyxl in eine Excel-Datei ein
Lesen einer Excel-Datei (.xlsx) mit Pandas [Python]
So erstellen Sie mit Faker eine CSV-Dummy-Datei mit Japanisch
Lesen einer CSV-Datei mit Python 2/3
[Python] Wie man Excel-Dateien mit Pandas liest
[Python] Lesen der CSV-Datei (Methode read_csv des Pandas-Moduls)
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
So konvertieren Sie Json-Dateien in das CSV- oder EXCEL-Format
Jedes Mal, wenn ich versuche, eine CSV-Datei mit Pandas zu lesen, wird ein numpy-Fehler angezeigt.
So erstellen Sie eine Konfigurationsdatei
So machen Sie einen String in Python zu einem Array oder ein Array zu einem String
So kombinieren Sie alle CSVs in einem Ordner zu einer CSV
So formatieren Sie eine Tabelle mit Pandas Apply, Pivot und Swaplevel
[Python] Speichern einer CSV-Datei als eindimensionale Array-Daten
[Python] So konvertieren Sie eine Datenbankdatei in CSV
So zeichnen Sie ein Diagramm mit Matplotlib
So konvertieren Sie Python in eine exe-Datei
So installieren Sie ein Paket mithilfe eines Repositorys
[Python] So kratzen Sie eine lokale HTML-Datei und geben sie mit Beautiful Soup als CSV aus
Erstellen Sie mit Pandas einen Datenrahmen aus Excel
Lesen von CSV-Dateien mit Pandas
Laden Sie Pandas DataFrame als CSV-Datei herunter
So setzen Sie eine Zeilennummer am Anfang einer CSV-Datei
So codieren Sie eine Drohne mithilfe der Bilderkennung
So erstellen Sie eine JSON-Datei in Python
Ich habe versucht, eine CSV-Datei mit Python zu lesen
Hochladen auf ein freigegebenes Laufwerk mit pydrive
So deinstallieren Sie ein mit setup.py installiertes Modul
So lesen Sie Dateien in verschiedenen Verzeichnissen
[Einführung in Pandas] Lesen Sie eine CSV-Datei ohne Spaltennamen und geben Sie ihr einen Spaltennamen
Speichern Sie das numpy-Array mithilfe des Wave-Moduls in einer WAV-Datei
[Pandas] So überprüfen Sie Duplikate in einer Tabelle und löschen Duplikate (entspricht dem Löschen von Duplikaten in Excel)
So schreiben Sie eine GUI mit dem Befehl maya
Verwendung von Pandas 2
So richten Sie eine Python-Umgebung mit pyenv ein
Verwenden Sie Pandas, um nur die angegebenen Zeilen des Datenrahmens in die Excel-Datei zu schreiben
Wie man Pferderenndaten mit pandas read_html kratzt
Backtrader So importieren Sie einen Indikator aus einer anderen Datei
Lesen Sie die CSV-Datei: pandas
Wie man ein praktisches Seminar mit Jupyter mit Docker abhält
[Python] Sie können ein Objekt mithilfe des Pickle-Moduls in einer Datei speichern.
So geben Sie die CSV eines mehrzeiligen Headers mit Pandas aus
So erstellen Sie ein Python-Paket mit VS Code
So konvertieren Sie ein Mel-Spektrogramm zurück in eine WAV-Datei
[Python] Ein Memo zum vertikalen Schreiben von CSV mit Pandas
So stellen Sie eine Go-Anwendung auf einer ECS-Instanz bereit
So speichern Sie eine von Python gekratzte Tabelle in CSV
Geben Sie nach dem Lesen einer Excel-Datei mit pandas read_excel ein
Python-Skript, das eine JSON-Datei aus einer CSV-Datei erstellt
So führen Sie einen Befehl mit einem Unterprozess in Python aus
Kombinieren Sie mehrere mit Pandas geladene Excel-Dateien zu einer
Verwendung der NUITKA-Utilities-Hinweis-Kompilierung zum einfachen Erstellen einer ausführbaren Datei aus einem Python-Skript
So erstellen Sie eine Instanz einer bestimmten Klasse aus dict mit __new__ () in Python
So setzen Sie einen Hyperlink zu "file: // hogehoge" mit sphinx-> pdf
So konvertieren Sie mit Python [Anwendung] von einem Array in ein Wörterbuch
So führen Sie eine Python-Datei an einer Windows 10-Eingabeaufforderung aus