python将xlsx保存为csvdate保存为date时间

我需要读取xlsx,将date从dd-mm-yy格式化为yyyy-mm-dd,然后将inport的csv另存为sqllite

我有一切工作,但当它保存为csv它将date转换为date时间,例如2016-11-29变成2016-11-29 00:00:00。 我如何才能将csv格式化为只有date?

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') 

你应该阅读这个答案 。 在你的情况下,在调用to_csv()之前,添加如下内容:

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

Sangbok Lee的回答很奏效,但是我遇到了我的date栏里有空条目的问题。 我能够解决以下尝试除外

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