Python:AttributeError:'日期时间。日期时间'对象没有属性'split'

2024-10-01 15:46:17 发布

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

我有这个代码:

    import datetime
import time

from pysolar.solar import * \

aaaa=-1
anno_array = []
#creo una lista dove avrò le date e gli orari di tutto l'anno 2014
data = datetime.datetime(2014, 1, 1, 0, 0)
#con la funzione timedelta incremento la data del 1 gennaio 2014 a mezzanotte
#di un minuto fino ad arrivare al 31 dicembre 2014 alle 23 e 59 (ho così un range di
#525600 minuti in un anno)
for i in range(0,525599):
    data += datetime.timedelta(minutes=1)
    anno_array.append(data)
    flusso_diretto_medio_teorico_W_mq_array = []
    flusso_diretto_medio_teorico_W_mq_array_anno = []
    aaaa=aaaa+1
    for line2 in anno_array:
        Type2=line2.split(" ")
        data_2 = Type2[0]
        orario_2 = Type[1]
        #ora devo dividere la data in giorno, mese e anno e l'orario in ore e minuti
        anno2, mese2, giorno2 = data_2.split("-")
        ora2, minuto2, secondo2 = orario_2.split(":")
        anno_2 = int(anno2)
        mese_2 = int(mese2)
        giorno_2 = int(giorno2)
        ora_2 = int(ora2)
        minuto_2 = int(minuto2)

        d_2 = datetime.datetime(anno_2, mese_2, giorno_2, ora_2, minuto_2)
        # dati di input
#posizione geografica
        latitudine = 43.8016626
        longitudine = 11.2558136

#calcolo elevazione sole - altitude
        sole_elevazione = get_altitude(latitudine, longitudine, d)
        sole_elevazione_radianti = math.radians(sole_elevazione)
        sole_zenith = 90 - sole_elevazione
        sole_zenith_radianti =  math.radians(sole_zenith)

#visto che la libreria non è in grado di gestire valori di elevazione negativi si forza il codice

        if sole_elevazione < 0:
            sole_elevazione = 0

#pysolar calcola anche l'irraggiamento diretto teorico

        irraggiamento_diretto = radiation.get_radiation_direct(d, sole_elevazione)

# per fare i confronti con dati lamma è utile sapere l'intensità di flusso diretto su un piano
#il lamma misura sul piano la totale e la diffusa. la differenze possiamo dire che è la diretta su un piano
#il calcolo è simile solo che come cos prendiamo  quello dell'elevazione del sole 

        irraggiamento_diretto_su_piano_terreno = abs(math.cos(sole_zenith_radianti)) * irraggiamento_diretto 
        aaaa=aaaa+1
        flusso_diretto_medio_teorico_W_mq_array_anno.append(irraggiamento_diretto_su_piano_terreno)

但它不起作用,因为它说明:AttributeError: '日期时间。日期时间'对象没有属性'split' 我该怎么办?我想要一个从列表中选择日期值然后使用它们的代码。 谢谢你


Tags: indatadatetimearraylaintundi

热门问题