【发布时间】:2014-02-19 20:03:20
【问题描述】:
我有 CSV 文件,其中包含日期等内容,如下所示:
2014-01-25 00:14:08.000
现在我解析 CSV 文件并获取日期。然后我运行一个正则表达式来检查日期是否有效(与上面的格式匹配)然后我将日期从 CSV 文件转换为 DateTime。
这怎么给我一个ValueError:,上面写着:need more than 3 values to unpack。
CSV 文件可以包含数千条具有上述日期的记录。
我的正则表达式:
date_re_time_norm = re.compile("""^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[ ](\d\d:\d\d:\d\d.\d\d\d)$""", re.I)
我的转换方法:
def convert_date(self, dstring):
if self.date_re_time_norm.match(dstring):
year, month, day, hour, minute, second = str(dstring).split('-')
return datetime(int(year), int(month), int(day), int(hour), int(minute), int(second), 0, 0, 0, 0, 0, 0)
为了便于阅读,缩短了方法。
我做错了吗?
【问题讨论】: