Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

How do I go about creating another spreadsheet after certain requirments have be

ID: 3579281 • Letter: H

Question

  How do I go about creating another spreadsheet after certain requirments have been met. For example in the code below I am updating the first spreadsheet every 10 seconds with a random number but if it reaches a certain row then I want to create another sheet with the same layout and continue updating the sheet.   from openpyxl import Workbook from openpyxl import load_workbook import random import schedule import time import datetime  def generate_random_number():     int1 = random.randint(55, 99)     int2 = random.randint(1, 50)     print('Numbers have been generated')     return int1, int2   def create_excel(num):     wb = Workbook()     wb.remove_sheet(wb.get_sheet_by_name('Sheet'))     wb.create_sheet('Test '+str(num))     ws = wb.get_sheet_by_name('Test '+str(num))     ws['A1'] = 'Random 1'     ws['B1'] = 'Random 2'     wb.save('sample.xlsx')     print('Document created')   def update_excel():     wb = load_workbook('sample.xlsx')     ws = wb.active     ws.append(generate_random_number())     wb.save('sample.xlsx')     print('Spreadsheet updated')   def main():     create_excel(1)     update_excel()     schedule.every(10).seconds.do(update_excel)     loop = True     m = 1     while loop:         schedule.run_pending()         print('Waiting...')         time.sleep(10)         m += 1         if m == 3:             schedule.run_pending()             loop = False   # starts whole script here print('Starting program now.... '+ str(datetime.datetime.now())) main() print('Finished program. '+ str(datetime.datetime.now()))  

Explanation / Answer

from openpyxl import Workbook
from openpyxl import load_workbook
import random
import schedule
import time
import datetime
#define global varible. This varible use in check and append data in particular sheet
globvar = 1
# sratrt generate_random_number function
def generate_random_number():
int1 = random.randint(55, 99)
int2 = random.randint(1, 50)
print('Numbers have been generated')
return int1, int2

# end generate_random_number function
# start create_excel function
def create_excel():
# call global
global globvar
#check file created and not
if(globvar == 1):
wb = Workbook()
wb.remove_sheet(wb.get_sheet_by_name('Sheet'))
wb.create_sheet('Test '+str(globvar))
ws = wb.get_sheet_by_name('Test '+str(globvar))
ws['A1'] = 'Random 1'
ws['B1'] = 'Random 2'
wb.save('sample.xlsx')
print('Document created')
else:
#wb = Workbook('sample.xlsx')
wb = load_workbook('sample.xlsx')
#wb.remove_sheet(wb.get_sheet_by_name('Sheet'))
wb.create_sheet('Test '+str(globvar))
ws = wb.get_sheet_by_name('Test '+str(globvar))
ws['A1'] = 'Random 1'
ws['B1'] = 'Random 2'
wb.save('sample.xlsx')
print('Document created')

# end create_excel function
# start update_excel function
def update_excel():
global globvar
wb = load_workbook('sample.xlsx')
ws = wb.get_sheet_by_name('Test '+str(globvar))
#ws = wb.get_sheet_by_name('Test '+str(nu))
#ws = wb.Sheets('Test '+str(nu))
#ws = wb.active
ws.append(generate_random_number())
wb.save('sample.xlsx')
print('Spreadsheet updated')

# end update_excel function
# start main function
def main():
global globvar
m = 1
create_excel()
update_excel()
schedule.every(10).seconds.do(update_excel)
loop = True
while loop:
schedule.run_pending()
m += 1
print('Waiting...')
time.sleep(10)
if m == 3:
schedule.run_pending()
loop = False
globvar +=1
print('Finished program. '+ str(datetime.datetime.now()))
print('Starting program now.... '+ str(datetime.datetime.now()))
main()

# end main function
# starts whole script here
print('Starting program now.... '+ str(datetime.datetime.now()))
main()
print('Finished program. '+ str(datetime.datetime.now()))

If you have any question please reply me. Thanks

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote