Я хочу в excel таблице добавлять значения в ячейки и сразу же сохранять таблицу с новым добавленным рандомным значением.
Использую библиотеку xlwings.
Но когда вызываю метод save, то программа словно циклится.
В итоге она добавила число в таблице (это визуально в таблице видно), но не сохранила. То есть если закрыть таблицу и снова открыть, то этого числа уже нет.
Сюда excel таблицу приложить нельзя, но Вы можете (если нужно)
И дальше числа уже не добавляются.
Как добавлять поочередно числа в пустые ячейки и сразу же сохранять таблицу на текущем этапе?
Код:
import xlwings
from xlwings import Book
import pandas as pd
import random
path_to_excel_file = 'C:/Users/me/Desktop/k.xlsx'
wb = Book(path_to_excel_file)
sheet = wb.sheets['Лист1']
df = pd.read_excel(path_to_excel_file)
count_rows = len(df)
# узнали сколько всего строчек в таблице
table = xlwings.Range(f"1:{count_rows + 1}").value
count = 0
for row in table:
count += 1
if count >= 5 and count <= 15: # начинаем с пятой строки
if row[5] is None: # если пустая ячейка в 6 колонке, начиная с пятой строки
id_for_item = random.randint(1, 10)
print(id_for_item)
sheet[f"F{count}"].value = str(id_for_item) # F - шестая колонка в excel, а F6, F7 ... отвечают за номер строки
wb.save(path_to_excel_file) # после выполнения этой строки дальше прога не робит, она словно зациклилась
wb.save(path_to_excel_file)