我正在将Excel电子表格中的数据导入python。我的日期是以一种奇怪的形式出现的,我不熟悉也无法解析。
in excel :( 2015年7月31日)
42216
导入后:
u'/Date(1438318800000-0500)/'
两个问题:
答案 0 :(得分:0)
时区必然会使这更复杂,所以让我们忽略它们......
正如@SteJ所说,你得到的是(接近)自1970年1月1日以来的秒数。Here's a Wikipedia article通常如何使用。奇怪的是,你得到的字符串似乎附有一个时区(-0500,北美的EST)。如果它是正确的UNIX时间(总是以UTC为单位)没有任何意义,但我们会传递给它......
假设你可以将它缩减到一个数字(没有时区),转换成Python中合理的东西真的很直接(注意精度的降低;你的原始数字是自纪元以来的毫秒数,而不是从纪元开始的标准秒数:
from datetime import datetime
time_stamp = 1438318800
time_stamp_dt = datetime.fromtimestamp(time_stamp)
然后,您可以使用strftime
将time_stamp_dt
变为您认为最佳的格式,例如time_stamp_dt.strftime('%m/%d/%Y')
,这几乎可以为您提供最初的内容。
现在,假设您提供的字符串格式相当规律,我们可以非常简单地提取相关时间:
s = '/Date(1438318800000-0500)/'
time_stamp = int(s[6:16])