Este projeto tem como objetivo converter dados de um arquivo CSV para comandos SQL de inserção em uma tabela do PostgreSQL. Ele obtém informações sobre a estrutura da tabela a partir do banco de dados e usa essas informações para formatar os valores corretamente.
.
├── consulta_postgres.py
├── csv_para_sql.py
├── README.md
└── requirements.txtconsulta_postgres.py: Contém a funçãoobter_informacoes_tabelapara obter informações sobre a tabela do PostgreSQL.csv_para_sql.py: Contém a funçãocsv_para_sqlque converte os dados do CSV em comandos SQL de inserção.README.md: Este arquivo.requirements.txt: Lista de dependências do projeto.
- Python 3.6 ou superior
- PostgreSQL
- Pandas
- Psycopg2
-
Clone o repositório para sua máquina local;
-
Instale as dependências listadas no
requirements.txt:pip install -r requirements.txt
Certifique-se de ter um banco de dados PostgreSQL em execução e configure as credenciais de acesso no script consulta_postgres.py.
Substitua dbname, user, password, host e port pelos valores apropriados para seu ambiente.
-
Prepare o arquivo CSV que deseja converter para comandos SQL de inserção;
-
Modifique csv_para_sql.py para apontar para o caminho correto do CSV e o nome da tabela no arquivo script.py: caminho_csv = 'caminho_da_tabela' nome_tabela = 'nome_da_tabela' comando_sql = csv_para_sql(caminho_csv, nome_tabela) print(comando_sql)
-
NO arquivo consulta_postgres, mude somente o nome da tabela:
cur.execute(""" SELECT column_name, is_nullable, data_type FROM information_schema.columns WHERE table_name = 'nome_da_tabela'; """)
-
Execute o script:
python csv_para_sql.pyO script irá ler o arquivo CSV, obter as informações da tabela no banco de dados, e gerar comandos SQL de inserção que serão impressos no console.