我编写了一个 python 脚本,该脚本采用具有 M/D/YYYY 格式日期的 csv,然后将它们与 xlwt 生成的 .xls 文件中的日期进行匹配。我想知道为什么只有一些日期匹配,然后我注意到唯一匹配的日期是 10 个字符长的字符串(2011 年 11 月 14 日)和不是 10 个字符长的日期(2011 年 1 月 14 日或 1 /7/2012) 不匹配。如何让 csv 文件将日期保存在 10 个字符长的字符串中?还是我应该将 csv 文件转换为 txt 文件?
问问题
559 次
1 回答
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/2012
和都01/07/2012
变成 a datetime.date(2012, 1, 7)
,并且该实例的两个副本date()
将比较相等。
于 2012-12-27T14:35:12.117 回答