[Good By Excel] Python-Skript zum Generieren von SQL zum Konvertieren von CSV in Tabelle

Auf Wiedersehen Excel

Ich hasse die Anwendung namens Excel.

Sie können 10.000 Zeilen CSV in Excel einlesen, filtern, eine Funktion zum Kopieren ziehen und alle mühsamen Dinge erledigen. Es gibt Zeiten, in denen das Laden lange dauert und auf einem Mac nicht funktioniert. An dem Tag, an dem es einfriert, bin ich nicht motiviert und werde nicht vorzeitig aufhören.

Du wirst verrückt! !! !!

Wenn Sie ein Ingenieur sind, möchten Sie alles von der Verarbeitung / Extraktion des CSV-Imports bis zum Hochladen des FTP-Servers vom Export mit nur einem Befehl beenden! Excel ist ein böser Weg des Bösen! Eine zuverlässige Datenbank! !! !!

Der Punkt ist, wenn Sie ein Skript haben, das eine Anweisung zum Erstellen einer Tabelle aus CSV erstellt und Stapel zum Laden von Daten erstellt, dann verabschiedet sich Excel, ohne sich zu verabschieden. Ein solches Python-Skript ist das heutige Thema.

Kommentar

Da Python über eine Pip verfügt, die den Typ von csv mit dem Namen csv_to_table errät und eine Anweisung zum Erstellen einer Tabelle mit dem Kopfteil der ersten Zeile als Spaltennamen erstellt, haben wir ein Skript erstellt, das die Funktion zum Erstellen der Anweisung zum Laden von Daten dieses Mal hinzufügt. Ich tat.

Ich habe geschrieben, wie man es auf Github benutzt, also führe es bitte so aus, wie es ist

https://github.com/ShusukeOtani/table_stmt_generator_from_csv

gitclone


git clone https://github.com/ShusukeOtani/table_stmt_generator_from_csv

Installieren Sie pip und pyenv und führen Sie es mit python2.7.1 aus.

Abhängige Rohrinstallation


pip install -r requirements.txt

Bereiten Sie -d, -t und -p als optionale Argumente vor. -d ist eine Option zum Bestimmen des Datenbanktyps. -d m ist mysql, -d p ist postgre. Der Standardwert ist MySQL. -t ist ein Fehler, ob es sich um eine Temp-Tabelle handelt. Wenn Sie es schneiden, machen Sie es zu einem Permamenttisch.

Sie können den Primärschlüssel mit -p angeben. Wenn -p id, ist die Spalten-ID PK.

Ich werde ein Beispiel schreiben. Erstens gibt es keinen Primärschlüssel, die Permament-Tabelle, und für MySQL ist keine Option erforderlich. Geben Sie einfach den Dateipfad von CSV an.

exmaple1


python execute.py ./example/test.csv

result1


DROP TABLE IF EXISTS table_stmt_generator_from; CREATE TABLE table_stmt_generator_from (
	id smallint,
	pref text
);LOAD DATA LOCAL INFILE '/Users/200302/table_stmt_generator_from_csv/example/test.csv' INTO TABLE table_stmt_generator_from FIELDS TERMINATED BY ','  IGNORE 1 LINES;

Wenn Sie die ID-Spalte für postgre, temp table und pk verwenden möchten, fügen Sie die folgende Option hinzu.

example2


`python execute.py -d p -t -p id ./example/test.csv  

result2


DROP TABLE IF EXISTS test; CREATE TEMPORARY TABLE test (
	id smallint,
	pref text
, PRIMARY KEY(id));COPY test FROM '/Users/200302/table_stmt_generator_from_csv/example/test.csv' CSV HEADER;

Später reden

Einer der Werbejobs ist das Erstellen von Feeds. Wir erstellen einen optimierten Deal-List-Feed für Anbieter wie Criteo und Indeed. Sie können nicht beitreten, wenn Sie mehrere DBs anzeigen. Ich habe dieses Skript geschrieben, um dieses Problem zu lösen. Im tatsächlichen Betrieb wird dieses Skript verwendet, um eine Anwendung zu erstellen, die die folgenden Serien ausführt.

  1. Geben Sie in jeder Datenbank eine select-Anweisung aus.
  2. Exportieren Sie das Ergebnis als CSV.
  3. Verwenden Sie dieses Skript, um CSV in Ihre lokale Datenbank zu importieren und eine Tabelle zu generieren.
  4. Treten Sie der lokalen Datenbank bei, um die endgültigen Feed-Daten zu generieren.
  5. Laden Sie die Feed-Daten auf den FTP-Server hoch.

Recommended Posts

[Good By Excel] Python-Skript zum Generieren von SQL zum Konvertieren von CSV in Tabelle
[Python] Konvertiert PDF-Text für jede Seite in CSV (2/24 Postscript)
So speichern Sie eine von Python gekratzte Tabelle in CSV
[Python] Kopierskript zum Generieren eines Kopierprotokolls
[Python] So konvertieren Sie eine Datenbankdatei in CSV
[Python] Konvertieren Sie CSV-Dateibegrenzer in Tabulatortrennzeichen
Konvertieren Sie Excel-Daten mit Python in JSON
[Python] Ein Skript, das für die Excel / CSV-Verarbeitung nützlich ist
Ich möchte eine in Python in PDF konvertierte Tabelle wieder in CSV konvertieren
Python-Skript, das alle Datensätze der Oracle-Tabelle in eine CSV-Datei ausgibt
Konvertieren Sie die "Anzahl" des Excel-Datums in die Python-Datumszeit
Python-Skript zum Konvertieren von Breiten- und Längengrad in Mesh-Code
[Python] Fortsetzung - Konvertieren Sie PDF-Text Seite für Seite in CSV
(Sonstige Hinweise) Datenaktualisierungsmuster von der CSV-Datenerfassung / -verarbeitung durch Python nach Excel
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
Konvertieren Sie json in Excel
So konvertieren Sie Json-Dateien in das CSV- oder EXCEL-Format
Python-Skript, das eine JSON-Datei aus einer CSV-Datei erstellt
Ein Python-Skript, das Oracle-Datenbankdaten in CSV konvertiert
Konvertieren Sie eine Excel-Datei für verschiedene Zwecke in Python in Text
[Python] Datum in Zeichenfolge konvertieren
Konvertieren Sie numpy int64 in python int
[Python] Liste in Pandas konvertieren [Pandas]
Konvertieren Sie das Scratch-Projekt in Python
Konvertieren Sie SDF schnell in CSV
Konvertieren Sie Python 3.x-Code in Python 2.x.
Konvertieren Sie nach dem Aufrufen der Shell-Datei unter Python CSV in Parkett.
Funktion zum Konvertieren von Excel-Spalten in Zahlen
Konvertieren Sie Markdown in Python in PDF
[Python] Mit Python in eine CSV-Datei schreiben
Speichern Sie pandas.DataFrame per Blatt in Excel
Ausgabe in eine CSV-Datei mit Python
Workflow zum Konvertieren der Formel (Bild) in Python
Konvertieren Sie die Liste mit Python in DataFrame
Python SQL-Anweisung Nach Zeit extrahieren
Python> Liste> Doppelte Liste in einfache Liste konvertieren
Behandeln Sie Excel-CSV-Dateien mit Python
[Python] Konvertiert natürliche Zahlen in Ordnungszahlen
Konvertieren Sie die Dezimalzahl in n-ary [Python]
Python> Tupel> Konvertiert doppeltes Tupel in einzelnes Tupel
Ich habe ein Plugin erstellt, um mit Vim eine Markdown-Tabelle aus CSV zu generieren
In der XML-Datenbank (BaseX) gespeichertes XML-Dokument in das CSV-Format konvertieren (mit Python)
Vorverarbeitung mit Python. Konvertieren Sie die Tag-Suchergebnisse von Nico Nico-Videos in das CSV-Format