python将xlsx另存为csv日期另存为日期时间
我需要读取xlsx,将日期从dd-mm-yy格式化为yyy-mm-dd,然后保存为csv,以便输入到sqllite 我的一切正常,但当它保存为csv时,它会将日期转换为日期时间,例如2016-11-29变为2016-11-29 00:00:00。如何将csv格式设置为仅限日期python将xlsx另存为csv日期另存为日期时间,python,excel,csv,datetime,xlsx,Python,Excel,Csv,Datetime,Xlsx,我需要读取xlsx,将日期从dd-mm-yy格式化为yyy-mm-dd,然后保存为csv,以便输入到sqllite 我的一切正常,但当它保存为csv时,它会将日期转换为日期时间,例如2016-11-29变为2016-11-29 00:00:00。如何将csv格式设置为仅限日期 import win32com.client from win32com.client import constants import openpyxl import csv import pandas as pd im
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')
你应该读书。在您的情况下,在调用到\u csv()
之前,添加如下内容:
data_xls['some_column'] = data_xls['some_column'].map(pd.Timestamp.date)
你应该读书。在您的情况下,在调用到\u csv()
之前,添加如下内容:
data_xls['some_column'] = data_xls['some_column'].map(pd.Timestamp.date)
来自Sangbok Lee的答案有效,但我遇到了日期列的空条目问题。我能够通过以下尝试解决问题,除了
try:
data_xls["Final Report Date"] = data_xls["Final Report Date"].datetime.strptime(data_xls["Final Report Date"], '%d-%m-%Y')
except:
pd.NaT
来自Sangbok Lee的答案有效,但我遇到了日期列的空条目问题。我能够通过以下尝试解决问题,除了
try:
data_xls["Final Report Date"] = data_xls["Final Report Date"].datetime.strptime(data_xls["Final Report Date"], '%d-%m-%Y')
except:
pd.NaT
非常好,非常感谢。唯一的问题是我在日期列中有空格,所以我想我需要循环检查数据是否为空,然后应用格式。非常好,谢谢。唯一的问题是我在日期列中有空格,所以我想我需要循环检查数据是否为空,然后应用格式。