0

我编写了一个 python 脚本,该脚本采用具有 M/D/YYYY 格式日期的 csv,然后将它们与 xlwt 生成的 .xls 文件中的日期进行匹配。我想知道为什么只有一些日期匹配,然后我注意到唯一匹配的日期是 10 个字符长的字符串(2011 年 11 月 14 日)和不是 10 个字符长的日期(2011 年 1 月 14 日或 1 /7/2012) 不匹配。如何让 csv 文件将日期保存在 10 个字符长的字符串中?还是我应该将 csv 文件转换为 txt 文件?

4

1 回答 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 回答