Python 为什么元组中的所有日期都转换为datetime.today?
我从csv中读取了一个日期列表,并希望将其转换为可读格式的Python列表/元组:yyyy-mm-dd 步骤1:从文件中读取数据Python 为什么元组中的所有日期都转换为datetime.today?,python,date,datetime,strftime,Python,Date,Datetime,Strftime,我从csv中读取了一个日期列表,并希望将其转换为可读格式的Python列表/元组:yyyy-mm-dd 步骤1:从文件中读取数据 with open('pnl_data.csv', 'rb') as f: reader = csv.reader(f) my_lista = [] for row in reader: my_lista.append(row[0]) 步骤2:我将所有元素转换为datetime.datetime格式 my_lista = [x
with open('pnl_data.csv', 'rb') as f:
reader = csv.reader(f)
my_lista = []
for row in reader:
my_lista.append(row[0])
步骤2:我将所有元素转换为datetime.datetime
格式
my_lista = [xlrd.xldate_as_tuple(x, 0) for x in my_lista]
第三步:最后我想把它格式化为yyyy-mm-dd
my_lista = [strftime('%Y-%m-%d') for y in my_lista]
由于某些原因,在执行步骤3后,所有日期都更改为今天的日期
打印输出:
执行步骤2后:
[(2014, 1, 3, 0, 0, 0), (2014, 1, 4, 0, 0, 0), (2014, 1, 5, 0, 0, 0)]
执行步骤3后:
['2014-08-28', '2014-08-28'. '2014-08-28']
为什么所有日期都更改为当前日期?您只是调用了
strftime
,没有提到y
,因此它默认为当前时间-在my\u lista中为y尝试my\u lista=[y.strftime(“%y-%m-%d”)
属性错误:“tuple”对象没有属性“strftime”Oh,然后datetime(*y).strftime(…)
。当时我以为y
是datetime
对象,不知什么原因;抱歉。字符串格式可以-['{}-{:02}-{:02}。在我的列表中,x的格式(*x)
你好,jon,你介意写下你的评论作为正式答案吗?