python sauvant xlsx en tant que csv date enregistre en date heure

J'ai besoin de lire un xlsx, formatez la date de jj-mm-aa à yyyy-mm-dd, puis enregistrez-vous en tant que csv pour l'access vers sqllite

J'ai tout fonctionner, mais quand il enregistre en tant que csv, il convertit la date à l'heure, par exemple 2016-11-29 devient 2016-11-29 00:00:00. Comment puis-je avoir le csv formaté à la date seulement?

import win32com.client from win32com.client import constants import openpyxl import csv import pandas as pd import sqlite3 f = r"Services.xlsx" exc = win32com.client.gencache.EnsureDispatch("Excel.Application") exc.Visible = 0 exc.Workbooks.Open(Filename=f) exc.Rows("1:1").Select() exc.Selection.Delete(Shift=constants.xlUp) exc.Range("K:M").Select() exc.Selection.NumberFormat = "yyyy-mm-dd" exc.ActiveWorkbook.Save() exc.Quit() data_xls = pd.read_excel('c:\Data\Programs\Cashflow\Database\Services.xlsx', 'Sheet', index_col=None) data_xls.to_csv('c:\Data\Programs\Cashflow\Database\Services.csv', encoding='utf-8') 

Vous devriez lire cette réponse . Dans votre cas, avant d'appeler to_csv() , ajoutez quelque chose comme ceci:

 data_xls['some_column'] = data_xls['some_column'].map(pd.Timestamp.date) 

La réponse de Sangbok Lee a fonctionné, mais j'ai rencontré des problèmes avec des inputs nulles pour la colonne de ma date. J'ai pu résoudre avec l'essai suivant sauf

 try: data_xls["Final Report Date"] = data_xls["Final Report Date"].datetime.strptime(data_xls["Final Report Date"], '%d-%m-%Y') except: pd.NaT