Forum >> Programmazione Python >> Files e Directory >> Estrarre e manipolare date da file .xlsx

Pagina: 1

Ciao a tutti.
Vi chiedo gentilmente, dopo numerossisime ricerche che mi restituiscono
'DataFLoatDaExcel = schedaaggregatrice.cell(aziende,20).value
ConvertoDataFloatExcelInDatetime = (datetime.fromordinal(datetime(1900, 1, 1).toordinal() + int(DataFLoatDaExcel) - 2))'




vi chiedo cortesemente come posso estrarre una data da un foglio .xlsx (che solitamente è float anche se si attribuisce alla colonna il formato data tramite excel) ed utilizzarla come tale in un codice python.
le righe di codice sono:
from datetime import date
from datetime import datetime
import datetime

...
for aziende in range (2, schedaaggregatrice.nrows-1):

DataFLoatDaExcel = schedaaggregatrice.cell(aziende,20).value
ConvertoDataFloatExcelInDatetime = (datetime.fromordinal(datetime(1900, 1, 1).toordinal() + int(DataFLoatExcel) - 2))
if ConvertoDataFloatExcelInDatetime >= DataDaDT and ConvertoDataFloatExcelInDatetime <= DataADT:
SchedaScadenzaBenchEE.write(rigaSchedaExcel, 0, schedaaggregatrice.cell(aziende, 3).value)
SchedaScadenzaBenchEE.write(rigaSchedaExcel,1,schedaaggregatrice.cell(azienda,20).value
)

Mi viene restituito errore:
ConvertoDataFloatExcelInDatetime = (datetime.fromordinal(datetime(1900, 1, 1).toordinal() + int(DataFLoatDaExcel) - 2)) # trasforma il valore raccolto sopra in un valore daatatime per poterlo utilizzare
AttributeError: module 'datetime' has no attribute 'fromordinal'



Vi ringrazio anticipatamente.
Buona serata.
Fabio.

--- Ultima modifica di fbfabiobianchi in data 2018-10-29 22:19:27 ---
from datetime import datetime
import datetime

perché fai questo?




THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
from datetime import datetime
import datetime

perché fai questo?

Perchè diversamente non gira.
Senza
import datetime
mi restiutisce
ConvertoDataFloatExcelInDatetime = (datetime.fromordinal(datetime(1900, 1, 1).toordinal() + int(DataFLoatDaExcel) - 2)) # trasforma il valore raccolto sopra in un valore daatatime per poterlo utilizzare
NameError: name 'datetime' is not defined
Senza
from datetime import date
ConvertoDataFloatExcelInDatetime = (datetime.fromordinal(datetime(1900, 1, 1).toordinal() + int(DataFLoatDaExcel) - 2)) # trasforma il valore raccolto sopra in un valore daatatime per poterlo utilizzare
AttributeError: module 'datetime' has no attribute 'fromordinal'
Tra l'altro ho un .py gemello e gira tutto alla pefezione.





Perchè diversamente non gira.
Senza
import datetime
mi restiutisce
ConvertoDataFloatExcelInDatetime = (datetime.fromordinal(datetime(1900, 1, 1).toordinal() + int(DataFLoatDaExcel) - 2)) # trasforma il valore raccolto sopra in un valore daatatime per poterlo utilizzare
NameError: name 'datetime' is not defined
Senza
from datetime import date
ConvertoDataFloatExcelInDatetime = (datetime.fromordinal(datetime(1900, 1, 1).toordinal() + int(DataFLoatDaExcel) - 2)) # trasforma il valore raccolto sopra in un valore daatatime per poterlo utilizzare
AttributeError: module 'datetime' has no attribute 'fromordinal'
Tra l'altro ho un .py gemello e gira tutto alla pefezione.

direi che non gira nemmeno con quelle due righe. quindi?

THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
Perchè diversamente non gira.
Senza
import datetime
mi restiutisce
ConvertoDataFloatExcelInDatetime = (datetime.fromordinal(datetime(1900, 1, 1).toordinal() + int(DataFLoatDaExcel) - 2)) # trasforma il valore raccolto sopra in un valore daatatime per poterlo utilizzare
NameError: name 'datetime' is not defined
Senza
from datetime import date
ConvertoDataFloatExcelInDatetime = (datetime.fromordinal(datetime(1900, 1, 1).toordinal() + int(DataFLoatDaExcel) - 2)) # trasforma il valore raccolto sopra in un valore daatatime per poterlo utilizzare
AttributeError: module 'datetime' has no attribute 'fromordinal'
Tra l'altro ho un .py gemello e gira tutto alla pefezione.

direi che non gira nemmeno con quelle due righe. quindi?

Mi sto spiegando proprio male e me ne scuso.
Il succo della mia richiesta è:
a) ho un .xlsx nel quale ho (anche) una colonna contenente date;
b) a seconda della data contenuta, prelevo oppure salto dati contenuti in celle di un'altra colonna;
c) pyton con "schedaaggregatrice.cell(aziende,20).value " (colonna 20 contenete date) preleva un float.
Qui mi inchiodo.
Non riesco a variare il float in datetime per gestire l'if.
Avevo trovato:
DataInDatetime = (datetime.fromordinal(datetime(1900, 1, 1).toordinal() + int(DataNellaColonnaExcel) - 2)
Solo in questo .py mi restituisce
'datetime' has no attribute 'fromordinal'
Sunto: come gestisco float con datetime?
Scusa ancora per "l'ignoranza lessicale"


Pagina: 1



Esegui il login per scrivere una risposta.