#python #sqlite #loops #xlsxwriter
#python #sqlite #циклы #xlsxwriter
Вопрос:
Мне нужно либо добавить, либо извлечь имена столбцов из файла БД, используя Sqlite и Xslx Writer.
Приведенный ниже код — это моя попытка ввести имена столбцов в книгу вручную. Я не могу понять, как изменить цикл для записи во второй строке, чтобы сохранить заголовки. Я надеюсь, что кто-нибудь может помочь мне разобраться в этом или предложить лучший способ извлечения заголовков непосредственно из моего файла DB.
Я попытался изменить «write_row(i, 0, строка)» на «write_row(1,0, строка)». Что заставляет его записывать под заголовками, но он захватывает только последнюю строку данных из базы данных. Я знаю, что цикл нуждается в i где-то в этом, но я понятия не имею, где.
def export():
todays_date = "Log " str(datetime.datetime.now().strftime("%Y-%m-%d_%H_%M") ) '.xlsx'
workbook = xlsxwriter.Workbook(todays_date)
worksheet = workbook.add_worksheet()
conn = sqlite3.connect("logging.db")
cur = conn.cursor()
cur.execute("SELECT * FROM ML")
mysel = cur.execute("SELECT * FROM ML")
worksheet.write("A1", 'ID')
worksheet.write("B1", 'Model')
worksheet.write("C1", 'Serial')
worksheet.write("D1", 'Test')
worksheet.write("E1", 'Before')
worksheet.write("F1", 'After')
worksheet.write("G1", 'Duration')
worksheet.write("H1", 'TimeStamp')
for i, row in enumerate(mysel):
worksheet.write_row(i, 0, row)
workbook.close()
os.startfile(todays_date)
Комментарии:
1. Изменить на
enumerate(mysel, 1)
2. Это решило проблему, спасибо!