Избегайте перезаписи ячеек в excel с помощью python
Я запускаю свой файл python каждый день, и каждый день при запуске он перезаписывает старые предыдущие строки и столбцы файла excel 'daily.xlsx'. Ему нужно продолжить с того места, на котором остановилась последняя строка. В файле excel есть 8 столбцов. (числа, текст, user_id, имя пользователя, имя_пользователя, фамилия, дата, работа). Таким образом, последнее число столбца 'numbers' должно быть продолжено, когда я запускаю файл python.
import telebot
import openpyxl as xl
API_TOKEN = '1111111111:BBBBBBBBBBBBBBBBAAAAAAAAAA-CCCCCCCC'
bot = telebot.TeleBot(API_TOKEN)
counter = 1
wbAll = xl.load_workbook('C:/Users/Administrator/PycharmProjects/TelegramBot/ActivationKey/daily.xlsx')
sheetAll = wbAll['Sheet1']
wbActivation = xl.load_workbook(
'C:/Users/Administrator/PycharmProjects/TelegramBot/ActivationKey/activationKey.xlsx')
sheetActivation = wbActivation['Лист1']
# Handle '/start'
@bot.message_handler(content_types=['text'])
def send_welcome(message):
if (message.text[:4] == 'DGGA' or message.text[:4] == "KLAT") and message.text[4:6] == "03" and len(
message.text) == 16 and message.text[7] == "1":
global counter
k = 0
# sending Activation code
for i in range(1, sheetActivation.max_row + 1):
if message.text == sheetActivation.cell(i, 1).value:
print("Activation code place: {}".format(i))
bot.send_message(message.chat.id, sheetActivation.cell(i, 2).value)
k += 1
print(
"There is a key\tText: {}\tUsername ID: {}\tUsername: {}\tFirstName: {}\tLastname: {}".format(
message.text,
message.chat.id,
message.chat.username,
message.chat.first_name,
message.chat.last_name))
print(counter)
# for Daily report
sheetAll.cell(counter, 1).value = counter
sheetAll.cell(counter, 2).value = message.text
sheetAll.cell(counter, 3).value = message.chat.id
sheetAll.cell(counter, 4).value = message.chat.username
sheetAll.cell(counter, 5).value = message.chat.first_name
sheetAll.cell(counter, 6).value = message.chat.last_name
wbAll.save('C:/Users/Administrator/PycharmProjects/TelegramBot/ActivationKey/daily.xlsx')
counter += 1
if k == 0:
print(
"There is no key\tText: {}\tUsername ID: {}\tUsername: {}\tFirstName: {}\tLastname: {}".format(
message.text,
message.chat.id,
message.chat.username,
message.chat.first_name,
message.chat.last_name))
bot.send_message(message.chat.id, "Key number is not listed!")
else:
bot.send_message(message.chat.id, "ERROR!")
print(
"Wrong key number\tText: {}\tUsername ID: {}\tUsername: {}\tFirstName: {}\tLastname: {}".format(
message.text, message.chat.id,
message.chat.username,
message.chat.first_name,
message.chat.last_name))
bot.infinity_polling()
Как я могу это сделать? Пожалуйста, помогите мне. Скриншот ежедневного файла excel.