Форум сайта python.su
У меня есть данный код:
wb = Workbook() ws = wb.active listf = [[1,1,1,1], [2,2,2,2], [3,3,3,3]] calc_lst = [['=СЧЁТЕСЛИ(listf[x];"<>")'], ["=СРЗНАЧ(listf[x]"], ["=СТАНДОТКЛОН(listf[x])"], ['=СТАНДОТКЛОН(listf[x])/корень(СЧЁТЕСЛИ(listf[x];"<>"))']] def col_writer(row_number, column_number, lst): for col in range(len(lst)): for row in range(len(lst[col])): ws.cell(row+row_number, col+column_number, lst[col][row]) return wb.save("sample.xlsx") col_writer(1,2, listf)
Отредактировано Irv1n (Сен. 15, 2021 20:13:52)
Офлайн
Сделай ещё функции.
Одна функция у тебя должна создавать структуру с данными, которую можно сразу записать в файл. В этой структуре будет адрес (куда писать данные) и сами данные. Эти данные будут вот этими значениями 1 2 3 4.
Вторая функция у тебя должна создавать структуру с данными, которую можно сразу записать в файл. В этой структуре будет адрес (куда писать данные) и сами данные. Эти данные будут формулами с правильными адресами ячеек.
Третья функция должна принимать структуру с данными, в которой есть адрес и сами данные, и писать эту структуру в файл. Чтобы писать структуру в файл, функция должна будет принимать имя файла ещё. А внутри функции будет создаваться эта книжка там и так далее - всё, что нужно, для создания файла. Может, она будет даже существующий файл ещё загружать и доделывать его.
Irv1nЧтобы сделать то, что нужно, у тебя написано слишком мало. Адреса в формулах ты не можешь сделать вот так через listf, как ты пытаешься это сделать. Адреса в формулах должны прямо указывать на диапазаны ячеек. Можно там взять какую-то фигню относительную, но лучше будет сделать формулы статическими, которые точно знают, из каких диапазонов ячеек и что и сколько они берут. А для этого нужна какая-то функция, которая точно знает, где какие адреса (где данные лежат, где формулы лежат и так далее).
У меня есть данный код:
Отредактировано py.user.next (Сен. 16, 2021 01:55:44)
Офлайн