Подключаемся к базе данных, получаем данные в курсор и пишем результат с заголовками колонок в 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()







Leave a Reply