Os arquivos CSV simplificam o processo de armazenamento de dados. Como o formato é baseado em linhas e colunas, o CSV traduz bem para um banco de dados relacional.
É fácil importar um arquivo CSV para um banco de dados e exportar de um banco de dados para um arquivo CSV. Existem algumas técnicas diferentes que você pode usar para fazer isso com o PostgreSQL.
Criar um arquivo CSV
Aqui estão alguns exemplos de dados CSV que você pode usar para crie seu próprio arquivo CSV:
id, nome, sobrenome, e-mail
1,Riannon,Pulsífero,Riannon.Pulsifer@exemplo.com
2,Moyna,Palocz,Moyna.Palocz@exemplo.com
3,Roslyn,Bearnard,Roslyn.Bearnard@exemplo.com
4,Glória,Aldric,Glória.Aldric@exemplo.com
5,Felice,Greenwald,Felice.Greenwald@exemplo.com
Antes de importar o arquivo CSV para o banco de dados PostgreSQL, você precisará criar uma tabela que corresponda ao formato de arquivo CSV. Use o código a seguir para criar uma tabela Postgres.
CRIOTABELA funcionários(Eu iriaintNÃONULO,
nome char (20),
sobrenome char (20),
caractere de e-mail (50));
Importar arquivos CSV para o PostgreSQL
Você pode importar arquivos CSV para uma tabela Postgres no servidor ou em uma máquina cliente.
Importar arquivos CSV no lado do servidor
Para importar um arquivo CSV para um servidor PostgreSQL, use o comando COPY do PostgreSQL e a palavra-chave FROM. Isso permite copiar dados de um arquivo CSV para uma tabela Postgres, desde que a estrutura corresponda. Use o código a seguir para copiar o arquivo CSV de amostra para a tabela de funcionários:
COPIAR funcionários (id, nome, sobrenome, e-mail)
A PARTIR DE '/tmp/sample.csv'
DELIMITADOR ','
CABEÇALHO CSV;
O caminho no exemplo acima é absoluto. Você pode usar um caminho relativo ao diretório de dados do Postgres, se preferir.
Você pode copiar os dados com ou sem cabeçalhos, portanto, sinta-se à vontade para omitir a última linha de código se não precisar deles.
Importar arquivos CSV no lado do cliente
Em uma máquina cliente, use o psql \cópia de comando para importar o arquivo CSV. Execute o seguinte código no prompt de comando do psql para copiar o arquivo CSV de exemplo para a tabela de funcionários.
\copiar funcionários DE '/tmp/sample.csv' DELIMITADOR ',' CABEÇALHO CSV;
Exportar arquivos CSV do PostgreSQL
Assim como na importação, você também pode exportar um arquivo CSV no lado do servidor ou no lado do cliente.
Exportar arquivos CSV no lado do servidor
Use o comando COPY e a palavra-chave TO para exportar os dados para um arquivo CSV. Você precisa especificar a tabela de origem e o caminho para o arquivo de destino. Desta vez, o caminho deve ser absoluto:
COPIAR funcionários PARA '/tmp/employees.csv' CABEÇALHO CSV;
Se você precisar exportar apenas algumas das linhas do banco de dados, use o comando SELECT da seguinte maneira:
COPY (SELECT * FROM funcionários onde nome='Moyna') PARA '/tmp/employees-moyna.csv' CABEÇALHO CSV;
Exportar arquivos CSV no lado do cliente
Para exportar dados no lado do cliente, use o \cópia de comando e o PARA palavra-chave no prompt de comando do psql:
\copiar funcionários PARA 'path-to-file.csv' cabeçalho CSV;
Usando um adaptador de banco de dados
Você não precisa usar o terminal para importar um arquivo CSV. Você pode importar os dados por meio de um objeto cursor usando sua linguagem de programação preferida. Por exemplo, se você trabalha com Python, você pode se conectar ao servidor PostgreSQL e executar o CÓPIA DE comando.
Para isso, você precisa conectar o Python ao Postgres através de um adaptador de banco de dados como psycopg2.
pip instalar psycopg2
Conecte-se ao banco de dados usando o seguinte código:
importar psycopg2;
conexão = psycopg.connect(
banco de dados="employee_db",
host="localhost"
usuário="postgres",
senha="senha",
)
Em seguida, crie um objeto cursor e use-o para executar o comando COPY:
cursor = conexão.cursor()
cursor.execute(
"COPIAR funcionários (id, nome, sobrenome, e-mail)
DE '/tmp/sample.csv'
DELIMITADOR ','
CABEÇALHO CSV;"
)
conexão.fechar()
Gerencie seus dados PostgreSQL com a conveniência do CSV
É um processo simples para importar e exportar dados usando arquivos PostgreSQL e CSV. Você pode usar os comandos psql no cliente ou servidor ou usar um adaptador de banco de dados programaticamente.
Se você gosta mais de GUI, considere usar a ferramenta pgAdmin. É um aplicativo GUI de código aberto que pode ajudá-lo a importar e exportar dados ainda mais facilmente.