如何在python中将元组转换为字符串并将其用于strptime?
How to convert a tuple into a string in python and use it into strptime?
我在 Date[] 中有一个元组列表:
[[2017, 1, 1], [2017, 1, 1], . . .
如何将它们中的每一个都转换成字符串?
X=[]
Y=[]
for i in range(len(Date)):
if(Date[i][0]==2017):
str=''.join(Date[i])
X.append(datetime.datetime.strptime(str, '%G %V %u').date())
Y.append(Val[i])
strptime 需要一个 str 来转换,如果我在那里添加 Date[i],它说它接受 str 而不是元组。我尝试通过 str=''join(Date[i])
转换它,但它说 strptime 只接受 str 而不是 int。这似乎是什么问题?
无需使用 strptime
,您可以将您的值按原样传递给 datetime.datetime
X.append(datetime.datetime(*Date[i]).date())
您的代码还需要一些改进,变量名应该小写,而不是遍历范围,您可以直接遍历 date
和 val
.
的值
date = [[2017, 1, 1], [2017, 1, 1]]
val = [0, 1]
x = []
y = []
for i, v in zip(date, val):
if i[0] == 2017:
x.append(datetime.datetime(*i).date())
y.append(v)
只需根据您的三个参数创建一个 datetime
实例
dates = [[2017, 1, 1], [2017, 1, 1]]
X = []
for date in dates:
if date[0] == 2017:
dt = datetime.datetime(*date)
X.append(dt.strftime('%G %V %u'))
您可以直接初始化 datetime.date
对象:
X.append(datetime.date(year=Date[i][0], month=Date[i][1], day=Date[i][2]))
甚至
X.append(datetime.date(*Date[i]))
必须通过 map 将 Date 映射到 str,然后用空格连接它才解决了这个问题!
X=[]
Y=[]
count=00
for i in range(len(Date)):
if(Date[i][0]==2017):
if (count>23):
count=00
sstr=' '.join(map(str,Date[i]))
X.append(datetime.datetime.combine(datetime.datetime.strptime(sstr, '%G %V %u').date(),datetime.time(count,00)))
#X.append(Date[i])
Y.append(Val[i])
count=count+1
我在 Date[] 中有一个元组列表:
[[2017, 1, 1], [2017, 1, 1], . . .
如何将它们中的每一个都转换成字符串?
X=[]
Y=[]
for i in range(len(Date)):
if(Date[i][0]==2017):
str=''.join(Date[i])
X.append(datetime.datetime.strptime(str, '%G %V %u').date())
Y.append(Val[i])
strptime 需要一个 str 来转换,如果我在那里添加 Date[i],它说它接受 str 而不是元组。我尝试通过 str=''join(Date[i])
转换它,但它说 strptime 只接受 str 而不是 int。这似乎是什么问题?
无需使用 strptime
,您可以将您的值按原样传递给 datetime.datetime
X.append(datetime.datetime(*Date[i]).date())
您的代码还需要一些改进,变量名应该小写,而不是遍历范围,您可以直接遍历 date
和 val
.
date = [[2017, 1, 1], [2017, 1, 1]]
val = [0, 1]
x = []
y = []
for i, v in zip(date, val):
if i[0] == 2017:
x.append(datetime.datetime(*i).date())
y.append(v)
只需根据您的三个参数创建一个 datetime
实例
dates = [[2017, 1, 1], [2017, 1, 1]]
X = []
for date in dates:
if date[0] == 2017:
dt = datetime.datetime(*date)
X.append(dt.strftime('%G %V %u'))
您可以直接初始化 datetime.date
对象:
X.append(datetime.date(year=Date[i][0], month=Date[i][1], day=Date[i][2]))
甚至
X.append(datetime.date(*Date[i]))
必须通过 map 将 Date 映射到 str,然后用空格连接它才解决了这个问题!
X=[]
Y=[]
count=00
for i in range(len(Date)):
if(Date[i][0]==2017):
if (count>23):
count=00
sstr=' '.join(map(str,Date[i]))
X.append(datetime.datetime.combine(datetime.datetime.strptime(sstr, '%G %V %u').date(),datetime.time(count,00)))
#X.append(Date[i])
Y.append(Val[i])
count=count+1