Ich bin neu in PostgreSQL und odo
. Ich habe Folgendes erstellt: (Ich arbeite an Ubuntu).Odo eine CSV-Datei in PostgreSQL-Datenbank
I Superusertestuser
und mit diesem Benutzer erstellt haben (Rolle) Ich habe postgresql Datenbank testuser
erstellt (von psql
läuft und dann DATABASE Testuser CREATE;). In dieser Datenbank befindet sich eine Tabelle mit der Bezeichnung testtable
. Ich habe keine Probleme beim Einfügen in diese Datenbank mit psycopg2
. Aber ich bin auf das Modul odo
für Python gestoßen. Da mein Ziel ist, some_file.csv
in die Postgresql-Datenbank zu laden, dachte ich, ich würde es verwenden. Die Verwendung schien ziemlich einfach
import odo
odo.odo('some_file.csv', 'postgresql://testuser:<password>@127.0.0.1:5432/testuser::testtable')
Aber es funktioniert nicht, und ich bekomme
NotImplementedError: Unable to parse uri to data resource: postgresql://testuser:<password>@localhost:5432/testuser
Hinweis: statt <password>
Ich habe das Passwort des Testuser.
Vielleicht ist es offensichtlich und ich habe es zu implementieren .. (wie im letzten Absatz here), aber ich dachte, postgresql unterstützt wird (weil postgresql einige Male erwähnt wird, mit Beispielen). Ich habe versucht, here unter Verbindungs-URIs zu suchen, konnte aber keinen Fehler finden. Und here ist odo Dokumentation.
Versuchen Sie, eine CSV-Datei als einzelnen Datenblob oder in eine strukturierte Tabelle (oder mehrere Tabellen) einzufügen. Verstehen Sie die Grundlagen von RDBMS, kennen Sie die Tabellenstruktur? Kennen Sie die Struktur Ihrer CSV-Daten (falls vorhanden)? – roadrunner66
Ja, ich versuche, es in einem einzigen Schritt in eine einzelne Tabelle einzufügen (zumindest beginne ich damit, da ich annehme, dass das der Grundschritt ist). Ich habe irgendwo gelesen, dass 'odo' den COPY-Befehl dafür benutzt. Ich habe die Tabelle erstellt, z. B. wie folgt: "CREATE TABLE-Testtabelle (ID serieller PRIMÄRSCHLÜSSEL, Alter Ganzzahl, Name varchar);" und der Test csv sieht wie folgt aus: "25, John \ n34, Petr", "\ n" steht für neue Zeile. – quapka