Помогите с решением задачи, не понимаю как сделать цикл, чтобы проверял наличие записей в строке и если есть, переходил на следующую и добавлял туда свежие данные из базы.
То есть, каждый раз, когда выполняется скрипт, создавалась новая строка ниже с данными, сохраняя предыдущие записи.
from datetime import datetime import xlwt import cx_Oracle dsn_tns = cx_Oracle.makedsn('host', 'port', 'sid') db = cx_Oracle.connect('test', 'test', dsn_tns) cursor = db.cursor() cursor.execute('select count(c.DATE) from test_1 c where c.DATE > TRUNC(SYSDATE)') for sql_row in cursor: print(sql_row[0]) book = xlwt.Workbook() sheet = book.add_sheet('Test') style = xlwt.XFStyle() style.num_format_str = 'D-MMM-YY' sheet.write(0, 0, datetime.now(), style) sheet.write(0, 1, sql_row[0]) book.save('sql-test.xls')
И еще вопрос, в 20 строке ругается на sql_row - this inspection warns about local variable referenced before assignment, если сделать так, то ошибка пропадает, на сколько правильное это решение? Как сделать правильно?
client_count = None for sql_row in cursor: if client_count is None: client_count = sql_row[0] print(sql_row[0]) sheet.write(0, 1, client_count)
Заранее спасибо за любую помощь!