• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

При выводе данных в Excel из SQL не выводятся имена столбцов.

ATWAliv

Member
12.09.2021
5
0
BIT
0
Добрый день!

Начал изучать Python и работать с SQL и стало интересно, если, допустим у меня есть текстовый файл, как его перевести в Excel через Python и работать с ним.
Изначально решил просто его переделать в Excel и разделить по столбцам и ячейкам, что спустя некоторое время получилось.
Затем долго ломал голову, как работать с данным файлом через Python, чтобы при любых изменениях файла они сразу отображались.
Нашел решение воспользоваться библиотеками sqlite3 и pandas и перевести файл в формат БД.
Решение действенное, но с одним существенным минусом. Так как не нашел способа работы с БД, не могу видеть правильно ли перенеслись данные из Excel в SQL.
Вроде уже кучу разных штук скачал для работы с БД, но ни с одной так и не разобрался как работать, да и не особо хочется. Ближе всех была SQLite, но затык с тем, что не могу найти саму программу, есть только консоль, которая нафиг мне не нужна (если кто подскажет, что делать дальше после установки, буду очень благодарен).

Ну, и основной вопрос: решил обойти эту тему таким образом, что полученную и изменяемую БД хочу потом заново переводить в файл Excel, т.к. как я понял при внесении изменений в БД первоначальный файл Excel не изменяется, а изменений я не вижу.

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

import sqlite3
import xlsxwriter

workbook = xlsxwriter.Workbook('xxx.xlsx')
worksheet = workbook.add_worksheet()

con1 = sqlite3.connect('xxx.db')
cur1 = con1.cursor()

cur1.execute("""SELECT * FROM xxx;""")
my_select = cur1.execute("""SELECT * FROM xxx;""")

for i, row in enumerate(my_select):
for j, value in enumerate(row):
worksheet.write(i, j, row[j])
workbook.close()

Но при использовании столкнулся с такой проблемой, что при выводе данных из БД в Excel в новый файл формата .xlsx отправляются только сами данные, а имена столбцов пропадают.

Что можно делать, чтобы всё-таки данные переносились с именами столбцов.
Или хотя бы натолкните на мысль, что почитать, чтобы понять.
И в идеале не спрашивайте зачем такие извращения, я только учусь. Поэтому всё же интересен именно ответ на вопрос, а не предложение как это сделать другими способами.
Заранее благодарен.
 

ATWAliv

Member
12.09.2021
5
0
BIT
0
Основной вопрос: что нужно добавить в код выше, чтобы он дополнительно выгружал названия столбцов в Excel.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!