2012-12-27 81 views
0

我編寫了一個python腳本,該腳本需要一個csv,其日期格式爲M/D/YYYY格式,然後將它們與xlwt生成的.xls文件中的日期進行匹配。我想知道爲什麼只有一些日期匹配,然後我注意到匹配的唯一日期是字符串長度爲10個字符(11/14/2011)和日期長度不是10個字符(2011年1月14日或1/7/2012)不匹配。如何獲得csv文件以10個字符長的字符串保存日期?或者我應該將csv文件轉換爲txt文件?由csv,txt和xls切換日期格式導致的Python輸出錯誤

回答

4

csv不知道什麼約會日期;它只是讀文本。您正在比較字符串與其他字符串,並且'1/7/2012''01/07/2012'是完全不同的字符串。

你需要將日期解析成可以在閱讀時進行比較的東西。使用datetime.datetime.strptime()功能爲:

import datetime 

dt = datetime.datetime.strptime(datecolumn, '%m/%d/%Y').date() 

strptime()格式上面會變成既1/7/201201/07/2012datetime.date(2012, 1, 7),而date()實例有兩個副本將比較結果爲相等。