Saya memiliki kode berikut untuk mengeluarkan harga dari tabel yang diformat dengan cara kalender:

from datetime import date

month_in_number = {"JAN": 1, "FEV": 2, "MAR": 3, "ABR": 4, "MAIO": 5, "JUN": 6, "JUL": 7, "AGO": 8, "SET": 9,
                    "OUT": 10, "NOV": 11, "DEZ": 12}

tabela_ibov = pd.read_excel("IBOVDIA.xlsx", None, header=1)

for year in tabela_ibov:
    tabela_anual = tabela_ibov[year]
    tabela_anual.rename(columns={"PREGÃO": "Dia"}, inplace=True)
    calendar = tabela_anual.loc[tabela_anual.index <= 30]

    for month in calendar:
        if month != "Dia":
            final = calendar.loc[:, [month, "Dia"]]
            final = final.dropna()
            final["Dia"] = final["Dia"].astype(int)
            data = date(int(year), month_in_number[month], final["Dia"])
            print(final)

Namun, saya tidak bisa mendapatkan nilai tanggal. Ini menampilkan kesalahan ini:

    raise TypeError(f"cannot convert the series to {converter}")
TypeError: cannot convert the series to <class 'int'>

Yang ingin saya lakukan adalah mendapatkan tahun, bulan, dan hari saat ini, dan menambahkan lembar sebagai kolom lain. Saya berhasil mendapatkan tahun dan bulan saat ini dengan benar, tetapi hari ini saya tidak bisa.

0
Eduardo 20 November 2020, 01:22

1 menjawab

Jawaban Terbaik

Berhasil melakukannya dengan:

        for dia in em_colunas.loc[:, "Dia"]:
            em_colunas.loc[dia - 1, "Data"] = dt.date(int(ano), mes_em_numero[mes], dia)

Terima kasih untuk apa-apa.

0
Eduardo 26 November 2020, 19:33