web-dev-qa-db-fra.com

ExcelWriter ValueError: Excel ne supporte pas DateTime avec le fuseau horaire lors de la sauvegarde de DF pour exceller

Je cours sur cette question depuis longtemps maintenant.

Je fixe l'écrivain comme suit:

writer = pd.ExcelWriter(arquivo+'.xlsx', engine = 'xlsxwriter', options = {'remove_timezone': True})
df.to_Excel(writer, header = True, index = True)

Ce code est à l'intérieur de la fonction. Le problème est chaque fois que j'exécute le code, il reçoit des informations de la base de données, qui contient deux colonnes DateTime64 [NS, UTC] objet avec Info de fuseau horaire. Mais lorsque le code pour enregistrer sur Excel Runs, je reçois:

ValueError: Excel does not support datetimes with timezones. Please ensure that datetimes are timezone unaware before writing to Excel.

J'ai déjà essayé plusieurs choses comme "dt.tz_convert", remplacer (tzinfo = aucun) et d'autres solutions que j'ai trouvées ici et autour.

Le code fonctionne sans problème dans mon ordinateur personnel, mon collègue au travail avec les mêmes spécifications de la machine peut exécuter le code. Seulement dans ma machine ce n'est pas le cas. J'ai déjà réinstallé python et tous les paquets, y compris le formatage de la machine et rien, l'erreur persiste.

xLRD V1.1.0

xlsxwriter v1.0.4

python 3.7.4

pandas v0.25.1

Si quelqu'un pouvait apporter une lumière dans cette question, je l'apprécierais beaucoup.

Merci

6

Il y a aussi une autre façon d'utiliser UTC paramètre dans Pandas

import pandas as pd
# Adjust time zone from columns
df['date'] = pd.to_datetime( df['date'], errors='coerce',utc=True)
# Export to Excel
df.to_Excel('filename.xlsx')
1
debugging XD