Importare file csv in pg admin 4

di googlesheetitalia il
14 risposte

cerco di dettagliare il problema sperando che qualcuno possa aiutarmi: linguaggio sql

.

PROBLEMA : non riesco ad importare questo file csv in pg admin 4  https://drive.google.com/file/d/15uJ7O0cvKB5pnH8QVflTA7Ds3FmgcKMf/view?usp=sharing , in quanto contiene delle celle con il valore n/a

.

Per creare la tabella in pg admin 4 ho utilizzato questo script 

CREATE TABLE deaths_per_capital

(

  n INT,

  validctrys VARCHAR NOT NULL,

  ntravelers FLOAT NOT NULL, 

  ndeaths FLOAT NOT NULL, 

  percap FLOAT NOT NULL,

  region VARCHAR

);

.

dopo aver creato la tabella vorrei importare i dati del file csv

Come posso importare il csv sopra riportato senza che pg admin 4 mi dia errore?  stessa cosa mi capita quando ci sono delle celle vuote, 

ho gia provato a cambiare le impostazioni di importazione ma non è cambiato nulla

-

grazie!

14 Risposte

  • Salve,

    sei sicuro che stai usando SQL Server e non un altro rdbms?

    salutoni romagnoli
    – 
    Andrea

  • Salve,

    ma quale RDBMS stai usando?

    mi risulta che pg admin sia uno strumento per Postgres, non per SQL Server (Microsoft SQL Server)

    salutoni romagnoli
    – 
    Andrea

  • 17/05/2023 - asql ha scritto:


    Salve,

    ma quale RDBMS stai usando?

    mi risulta che pg admin sia uno strumento per Postgres, non per SQL Server (Microsoft SQL Server)

    salutoni romagnoli
    – 
    Andrea

    salve andrea, grazie per la risposta, sto usando il programma pgadmin 4 e sto scrivendo nel linguaggio di programmazione sql, non ho capito la domanda, probabilmente mi sono spiegato male io

    grazie e a presto 

  • Ad essere precisi, SQL (Structured Query Language)

    NON E' un linguaggio di programmazione

    E' un linguaggio di interrogazione dei dati.

    Il “linguaggio di programmazione” usato per creare le “stored procedures” in PostgreSQL si chiama “pgSQL”.

  • Salve,

    quello che sto cercando di chiedere e' che SQL, che e' un linguaggio, mentre SQL Server, come anche Postgres, sono rdbms, cioe' “motori” di database relazionali…

    pgadmin e' invece un “tool” di interazione con uno specifico rdbms (Postgres), come ce ne sono altri, specifici per specifici “motori” (SQL Server Management Studio per SQL Server) o anche “generici” che permettono di interagire con svariati “motori” rdbms…

    al di la' di tutto, quindi, SE usi pgadmin, stai operando con Postgres, e questo e' un forum specifico per SQL Server…
    entrambi gli rdbms utilizzano SQL per l'interazione, ma sono molto diversi l'uno dall'altro… 

    questo era il senso della mia domanda… se usi Postgres, “questo” (forum) non e' il posto giusto… andrebbe postato nel forum specifico…
    se e' cosi', chiederei a @toki di spostare il thread :D

    salutoni romagnoli
    – 
    Andrea

  • In pratica asql ti sta chiedendo perchè hai postato in questa sezione del forum

  • Grazie @oregon…. sei stato molto “circonciso” :D

    salutoni Romagnoli

    – 
    Andrea

  • Dovere … quando ci vuole un po' di "circoncisione" ci vuole … 

  • Ho pubblicato qui perche pensavo fosse la sezione giusta, chiedo scusa

    posso comunque ricevere un aiuto o devo ripostare da un'altra parte?

    quale sezione pensate sia la migliore?

    e si uso pg admin 4

    grazie

  • Ma con quale DBMS??

  • Quindi attendi che il moderatore sposti il thread mell'area corretta

  • Valuta l'opportunità di impiegare gli strumenti disponibili per PostgreSQL in modo da acquisire i dati in formato CSV convertendo
    quelli che danno problemi.
    Ad esempio con PgLoader puoi impiegare l'opzione "NULL IF" in modo che la lettura del campo con "N/A" sia convertito in "NULL".
    https://www.reddit.com/r/PostgreSQL/comments/4j78xs/converting_na_to_null_upon_loading_csv_data/
    https://manpages.ubuntu.com/manpages/bionic/man1/pgloader.1.html
    Nel caso il tipo sia numerico puoi convertirlo nel valore speciale "NaN" ("Not a Number") in modo che  "N/A" (in qualità di Valore "Non Applicabile", codificato anche come "NA" o "#N/A") possa rappresentare il risultato di "0/0" o similari (indeterminato, impossibile, infinito, ecc.).
    https://stackoverflow.com/questions/31900079/r-replace-na-with-null-for-input-into-postgresql
    https://wiki.ivoa.net/internal/IVOA/InterOpOct2011Applications/null_nan-3.pdf
    https://www.postgresql.org/docs/current/datatype-numeric.html
    In caso di stringhe puoi anche convertire il valore NULL con spazio (' ') o nel testo 'NULL'.
    https://stackoverflow.com/questions/19034674/copy-null-values-present-in-csv-file-to-postgres
    https://gist.github.com/quiver/5200984#file-copy_tsv_with_null
    https://stackoverflow.com/questions/65692665/postgresql-import-from-csv-null-values-are-text-need-null
    https://www.postgresql.org/docs/8.3/sql-copy.html

Devi accedere o registrarti per scrivere nel forum
14 risposte