Python 3: Подключение к PostgreSQL (pgsql) и запись в CSV

Подключаемся к базе данных, получаем данные в курсор и пишем результат с заголовками колонок в CSV:

#==============================================
# 1. Подключаем библиотеки Python
#==============================================
import psycopg2
import csv

#==============================================
# 2. Подключаемся к базе данных PGSQL
#==============================================
conn = psycopg2.connect(dbname='имя базы данных', user='имя пользователя', 
                        password='пароль', host='адрес хоста где расположена БД')
#==============================================
# 3. Получаем данные, кладем их в курсор
#==============================================
cursor = conn.cursor()
cursor.execute('select * from test.table_name')

#--- Получаем наименования колонок
column_names = []
for row in cursor.description:
    column_names.append(row[0])

#==============================================
# 4. Пишем файл CSV с колонками
#==============================================
with open('filename.csv', 'w', newline='') as filename:
    
    write_filename = csv.writer(filename, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    write_filename.writerow(column_names)
    for row in cursor:
        write_filename.writerow(row)

#==============================================
# 5. Закрываем курсор
#    Закрываем соединение с Базой данных
#==============================================
cursor.close()
conn.close()
5 1 голос
Рейтинг статьи
Шамаев Иван
Разработчик аналитических решений QlikView/Qlik Sense/Power BI; Python Data Scientist; Разработчик интеграционных решений на PHP, Python, JavaScript.
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x