Domanda

Sto cercando di scrivere alcune date da un foglio di calcolo Excel ad un altro. Attualmente, sto diventando una rappresentazione in Excel che non è proprio quello che voglio come questo: "40.299,2501,157407 millions"

posso ottenere la data di stampare fino al console, tuttavia non sembra funzionare scrittura destra per il foglio di calcolo excel - i dati devono essere un tipo di data in Excel, non posso avere una versione di testo di esso.

Ecco la linea che legge la data in:

date_ccr = xldate_as_tuple(sheet_ccr.cell(row_ccr_index, 9).value, book_ccr.datemode)

Ecco la linea che scrive la data out:

row.set_cell_date(11, datetime(*date_ccr))
Non

Non è nulla sta facendo per date_ccr tra queste due linee diverse da qualche confronto.

Tutte le idee?

È stato utile?

Soluzione

È possibile scrivere il numero in virgola mobile direttamente al foglio di calcolo e impostare il formato numerico della cella. Impostare il formato utilizzando il num_format_str di un oggetto XFStyle quando si scrive il valore.

https: //secure.simplistix.co.uk/svn/xlwt/trunk/xlwt/doc/xlwt.html#xlwt.Worksheet.write-method

L'esempio seguente scrive la data 01-05-2010. (Include anche il tempo di 6:00:10, ma questo è nascosto dal formato scelto in questo esempio.)

import xlwt

# d can also be a datetime object
d = 40299.2501157407

wb = xlwt.Workbook()
sheet = wb.add_sheet('new')

style = xlwt.XFStyle()
style.num_format_str = 'DD-MM-YYYY'

sheet.write(5, 5, d, style)
wb.save('test_new.xls')

Ci sono esempi di formati numerici (num_formats.py) negli esempi cartella del codice sorgente xlwt. Sulla mia macchina Windows: C: \ Python26 \ Lib \ site-packages \ xlwt \ esempi

Si può leggere su come Excel memorizza date (terza sezione in questa pagina): https://secure.simplistix.co.uk/svn/xlrd/trunk/xlrd/doc/xlrd.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top