我尝试在一个日期时间变量中添加csv文件中的日期和小时。我读过有关添加timedelta和官方文档https://docs.python.org/3/library/datetime.html#timedelta-objects的问题,但不要强调它是如何工作的。
我的csv行看起来像 - [' 2005.02.28',' 17:38',' 1.32690',' 1.32720&#39 ;,' 1.32680',' 1.32720',' 5']。我将row [0] = 2005.02.28转换为日期并转换行[1] = 17:38现在我需要创建新的datetime变量,如2005.02.28 17:38。我怎么能这样做?
import csv
import datetime as dt
with open('EURUSDM1.csv') as csvfile:
datereader=csv.reader(csvfile)
for row in datereader:
date=dt.datetime.strptime(row[0], "%Y.%m.%d")
time=dt.datetime.strptime(row[1], "%H:%M")
答案 0 :(得分:4)
import csv
import datetime as dt
with open('EURUSDM1.csv') as csvfile:
datereader = csv.reader(csvfile)
for row in datereader:
dstr = row[0] + ' ' + row[1]
date = dt.datetime.strptime(dstr, "%Y.%m.%d %H:%M")
答案 1 :(得分:3)
在两个变量new_date
和new_time
中同时拥有这两个值后,您可以简单地将它们组合起来获取日期时间,就像这样,
>>> new_date = dt.datetime.strptime(row[0], "%Y.%m.%d")
>>> new_time = dt.datetime.strptime(row[1], "%H:%M").time()
>>>
>>> dt.datetime.combine(new_date, new_time)
datetime.datetime(2005, 2, 28, 17, 38)
注意: - 避免使用date
和time
作为变量名称,因为它们也是datetime
库的一部分。使用与您的应用程序上下文相关的变量名称。