使用xlutils.copy保存格式

时间:2018-08-08 09:34:10

标签: python excel

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

    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_cella(0,9,3)),int(Leggi_cella(0,7,3)),int(Leggi_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')

而且我不明白如何每次打开最后一个文件时都只能打开一次,因为索引读到的总是关于第一个文件

0 个答案:

没有答案