2016-07-09 40 views
1

Ich habe eine CSV-Datei, die 4000 Spalten enthält und ich muss es in eine Postgres-Datenbank importieren. Ich benutze pgadminIII. In ORACLE SQL gibt es eine Option, wo ich mit der rechten Maustaste auf die Tabelle klicken und importieren kann. Gibt es einen ähnlichen Weg in Postgres? Wenn nicht, was ist der effektivste Weg, um eine Tabelle mit so vielen Spalten zu erstellen?Importieren von Daten aus CSV in PostgreSQL

Update- ich es Arbeit bekam:

import pandas as pd 
df = pd.read_csv('C:/Users/dbharali0376/Desktop/Merge_N_Reorder/ip_merged_52_final.csv',dtype='unicode') 
df.columns = [c.lower() for c in df.columns] 
from sqlalchemy import create_engine 
engine = create_engine('postgresql://postgres:[email protected]:5432/postgres') 

df.to_sql("trial", engine, if_exists='append',index=False) 

Dies schafft eine neue Tabelle aus dem Eingangs csv.

+0

https://www.postgresql.org/docs/current/static/sql-copy.html –

+1

Sind Sie sicher, dass Sie es mit Oracle zu tun? Wie ich mich erinnere, haben sie 1000 Spalten pro Tabellenbegrenzung. Allerdings ist PostgreSQL auch nicht so "Gummi" und hat [Maximale Spalten pro Tabelle 250 - 1600 je nach Spaltentyp] (https://www.postgresql.org/about/) Einschränkung. – Abelisto

+0

@Gordon Linoff, für COPY brauche ich bereits eine Tabelle zu existieren. Gibt es eine Möglichkeit, eine Tabelle mit so vielen Spalten über GUI zu erstellen, oder muss ich jeden Spaltennamen eingeben. –

Antwort

0

Was bedeuten die Spalten? Sind Zeitstempel oder etwas anderes in einer relationalen Datenbank besser als Zeilen dargestellt?

Meine Vermutung ist, dass Sie diese CSV irgendwie in etwas manipulieren müssen, das postgres verarbeiten kann.

"pgfutter" ist ein Python-Skript, das basierend auf dem CSV-Header die Tabelle für Sie erstellt und dann die Daten mit dem Befehl COPY lädt. Es ist kein GUI-Tool, sollte aber einfach zu bedienen sein.

0

In PGAdmin III

  1. auf die Tabellen-Option in Ihrem Schema gehen.
  2. Rechtsklick auf Ihre Tabelle unter, Tabellen und klicken Sie auf importieren.
  3. Durchsuchen Sie die CRV-Datei, klicken Sie auf Format und wählen Sie CRV.
  4. Passen Sie Ihre Import - Encoding/Delimter usw.
+0

Das funktioniert nur, wenn bereits eine Tabelle erstellt wurde. Ich habe meine Frage aktualisiert. Ich habe die Lösung gefunden –