Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 19, 2021 07:09:15

skyff01
Зарегистрирован: 2021-01-19
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Импорт из BD Accesse в csv.

Написал код, который импортирует таблицу в csv, но он импортирует тольк значения, а хотелось бы ещё название колонок.

 import pyodbc, csv
conn = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\db.mdb;')
c = conn.cursor()
sql = ('SELECT * FROM tb1')
c.execute(sql)
res = c.fetchall()
with open("new_file1.csv","w") as file:
       for row in res:
           csv.writer(file).writerow(row)
c.close()
conn.close()

После импорта получаем:
1,john,john@mail.ru
2,max,max@gmail.com
3,nick,nick@gmail.com

Подскажите, как сделать что бы названия колонок тоже импортировались?

Прикреплённый файлы:
attachment 2021-01-19_09-40-47.png (9,0 KБ)

Офлайн

#2 Фев. 1, 2021 13:36:57

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2583
Репутация: +  60  -
Профиль   Отправить e-mail  

Импорт из BD Accesse в csv.

ДЛя начала вытянуть название колонок из таблицы (решений полно в нете - выберите понравившееся - что обычный запрос)
и вписать его первой строкой.

Или что-то похожее на

 # OPEN CSV AND ITERATE THROUGH RESULTS
with open('CSVDatabaseWithHeaders.csv', 'w', newline='') as f:
    writer = csv.writer(f)    
    # ADD LINE BEFORE LOOP
    writer.writerow([i[0] for i in cur.description])  
    for row in cur.fetchall() :
        writer.writerow(row)



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version