Как создать и сохранить новый пустой лист в excel на python 3
Есть .xlsx файл в нем содержится несколько листов. Нужно к этому всему добавить еще один пустой лист.
Вариантов того, как это сделать тьма тьмущая:
def create_list():
path = 'list1.xlsx'
book = load_workbook(path)
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = book
x3 = np.random.randn(100, 2)
df3 = pd.DataFrame(x3)
df3.to_excel(writer, sheet_name='aaaaaa')
writer.save()
writer.close()
def create_list1(book):
wb = load_workbook(book)
ws = wb.create_sheet('Students')
save_workbook(wb, 'list1.xlsx')
Второй вариант хотя бы создает этот новый лист, но не сохраняет, то есть если файл открыть, там будет
:
Все варианты развития событий с другими кодами из интернета:
- Создается новый лист, со звездочкой, то есть не сохраняется
- С помощью
pandas, вся таблица создается с нуля и создается один пустой новый лист, тоже со звездочкой. - В большинстве случаев просто ничего не создается.
С изменением ячеек в уже существующем листе тоже есть проблема. Кодов которые изменяют много, но чтобы результат сохранился нашелся только один. И этот один не просто сохраняет, но зачем то открывает пользователю эксель файл.
def set_new_value(coor:list, new_value):
wb = xw.Book('list1.xlsx')
sht1 = wb.sheets['Лист1']
b = dig_to_bukva(coor[0])
c = (coor[1])
sht1.range(f'{b}{c}').value = new_value
wb.save("list1.xlsx")
Таким образом вопрос такой, как создать в существующем ексель файле новый пустой лист так, чтобы не появлялось "звездочки".