使用保存格式xlutils.copy文件

2024-06-16 10:00:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要读和写从excel使用python。 我使用此代码打开工作簿创建一个副本,修改它,然后保存它。 但是我丢失了所有的格式,我不知道如何保存它。你知道吗

    import xlrd
    import xlwt
    import datetime
    from xlutils.copy import  copy



    #CREO WORKBOOK
    workbook_temp = xlrd.open_workbook('file1.xlsx') #workbook used to read 
    the data first time and then to read an index
    i= int(workbook_temp.sheet_by_index(0).cell(0,0).value) #read the index
    print(i)
    workbook = xlrd.open_workbook('file'+str(i)+'.xlsx') #open the last 
    workbook
    i= i+1
    w= copy(workbook)
    w.get_sheet(0).write(0,0,i) #update the index
    n_fogli = workbook.nsheets  #Numero dei fogli

    def Controllo(data_odierna, data_macchina, n):          #Controlla se tra 
    due date è passato un numero n di giorni
        print('controllo date in corso')
        if (data_odierna-data_macchina)>=datetime.timedelta(days=n):
           return True
        else:
           return False

    def Calcolo_consumo(posizione_gomma,mm):
       posizione= posizione_gomma
       if (posizione_gomma == 'ST DX' or posizione_gomma == 'ST SX'        
           consumo = 0.9/30
           mm = mm - consumo
           return mm

       elif (posizione_gomma == 'TR ES' or posizione_gomma == 'TR IS' or 
           posizione_gomma == 'TR ED' or posizione_gomma == 'TR ID'):
           consumo = 1/30 
           mm = mm - consumo
           return mm
       elif (posizione_gomma == ('1 SX' or '3 SX')):
           consumo = 0.5/30
           mm = mm- consumo
           return mm
       elif (posizione_gomma == '2 SX'):
           consumo = 0.3/30
           mm = mm - consumo
           return mm
       else:
           return('Errore nella posizione gomma')

       def Leggi_cella(pagina,colonna,riga):
           return workbook.sheet_by_index(pagina).cell(riga,colonna).value

       def Scrivi_cella(workbook,pagina,colonna,riga,valore):
           null

       #Acquisisco data odierna
       date_temp = datetime.datetime.now()
       date_odierna = 
       datetime.date(date_temp.year,date_temp.month,date_temp.day)

       #Acquisisco data ultima modifica

      date_ultima_modifica = 

你知道吗datetime.date日期(int(Leggi\u cella(0,9,3)),int(Leggi\u cella(0,7,3)),int(Leggi\u cella(0,3,3)))

      #Calcolo giorni passati

      giorni_passati = date_odierna - date_ultima_modifica

      print (date_odierna)
      print (date_ultima_modifica)

      if int(giorni_passati.days) >=1:
          print('sono passati :' + str(giorni_passati.days) + ' giorni')
          # aggiorno colonna
          #controllo colonna mm


      w.save('file'+str(i)+'.xlsx')

我不明白我怎么能每次打开最后一个文件,就像我只打开一次一样,因为我读的索引总是关于第一个文件


Tags: datadatetimedateindexreturntempintworkbook