Python 将时间戳连接到列表元素
Python concatenate timestamp to list elements
我想将时间戳连接到各个列表元素以创建 txt 或 csv 文件。
这是我尝试的代码,它仅将时间戳连接到最后一个元素。所以我做错了。感谢任何帮助。谢谢
预期输出为
BSTG,2022-01-13 22:09:07
XTLB,2022-01-13 22:09:07
SERA,2022-01-13 22:09:07
四度,2022-01-1322:09:07
RPID,2022-01-13 22:09:07
BBLN,2022-01-13 22:09:07
SGLY,2022-01-13 22:09:07
戴夫,2022-01-13 22:09:07
GMVD,2022-01-13 22:09:07
BBIG,2022-01-13 22:09:07
# Code Begin
from datetime import datetime
current_results = ['BSTG,XTLB,SERA,SIDU,RPID,BBLN,SGLY,DAVE,GMVD,BBIG']
now = datetime.now()
print(current_results)
for elem in current_results:
print(str(elem)+str(now))
#Code End
问题是 current_list
是一个包含 1 个元素的列表,您需要在循环之前对其进行处理:
from datetime import datetime
current_results = ['BSTG,XTLB,SERA,SIDU,RPID,BBLN,SGLY,DAVE,GMVD,BBIG']
now = datetime.now()
print(current_results)
# get the current_results and convert them to a list
current_results = current_results[0].split(',')
# now we can loop and concatenate the time stamp to each result
for res in current_results:
res = res + ',' + now.strftime("%Y-%m-%d %H:%M:%S")
print(res)
我注意到这里有两个问题:
1
current_results = ['BSTG,XTLB,SERA,SIDU,RPID,BBLN,SGLY,DAVE,GMVD,BBIG']
是一个只有一个 str
元素的列表。
您可能想使用:
current_results = ['BSTG', 'XTLB', 'SERA', 'SIDU' , 'RPID', 'BBLN', 'SGLY', 'DAVE', 'GMVD', 'BBIG']
2
当您连接结果时,逗号丢失了。您可能希望使用 f-strings https://www.python.org/dev/peps/pep-0498/ 轻松格式化 CSV 输出。
print(f"{elem},{now}")
有特定于 csv 的库,例如内置 csv
但对于这种简单的情况,它们可能有点矫枉过正。
current_results
属性是一个包含单个 str
的 list
。您可以将列表解析为每个元素都分开的列表,如下所示:
from datetime import datetime
current_results = ['BSTG,XTLB,SERA,SIDU,RPID,BBLN,SGLY,DAVE,GMVD,BBIG']
parsed_results = current_results[0].split(",")
now = datetime.now()
print(current_results)
for elem in parsed_results:
print(str(elem)+str(now))
parsed_results = current_results[0].split(",")
可以解决问题![=15=]
我想将时间戳连接到各个列表元素以创建 txt 或 csv 文件。 这是我尝试的代码,它仅将时间戳连接到最后一个元素。所以我做错了。感谢任何帮助。谢谢
预期输出为
BSTG,2022-01-13 22:09:07
XTLB,2022-01-13 22:09:07
SERA,2022-01-13 22:09:07
四度,2022-01-1322:09:07
RPID,2022-01-13 22:09:07
BBLN,2022-01-13 22:09:07
SGLY,2022-01-13 22:09:07
戴夫,2022-01-13 22:09:07
GMVD,2022-01-13 22:09:07
BBIG,2022-01-13 22:09:07
# Code Begin
from datetime import datetime
current_results = ['BSTG,XTLB,SERA,SIDU,RPID,BBLN,SGLY,DAVE,GMVD,BBIG']
now = datetime.now()
print(current_results)
for elem in current_results:
print(str(elem)+str(now))
#Code End
问题是 current_list
是一个包含 1 个元素的列表,您需要在循环之前对其进行处理:
from datetime import datetime
current_results = ['BSTG,XTLB,SERA,SIDU,RPID,BBLN,SGLY,DAVE,GMVD,BBIG']
now = datetime.now()
print(current_results)
# get the current_results and convert them to a list
current_results = current_results[0].split(',')
# now we can loop and concatenate the time stamp to each result
for res in current_results:
res = res + ',' + now.strftime("%Y-%m-%d %H:%M:%S")
print(res)
我注意到这里有两个问题:
1
current_results = ['BSTG,XTLB,SERA,SIDU,RPID,BBLN,SGLY,DAVE,GMVD,BBIG']
是一个只有一个 str
元素的列表。
您可能想使用:
current_results = ['BSTG', 'XTLB', 'SERA', 'SIDU' , 'RPID', 'BBLN', 'SGLY', 'DAVE', 'GMVD', 'BBIG']
2
当您连接结果时,逗号丢失了。您可能希望使用 f-strings https://www.python.org/dev/peps/pep-0498/ 轻松格式化 CSV 输出。
print(f"{elem},{now}")
有特定于 csv 的库,例如内置 csv
但对于这种简单的情况,它们可能有点矫枉过正。
current_results
属性是一个包含单个 str
的 list
。您可以将列表解析为每个元素都分开的列表,如下所示:
from datetime import datetime
current_results = ['BSTG,XTLB,SERA,SIDU,RPID,BBLN,SGLY,DAVE,GMVD,BBIG']
parsed_results = current_results[0].split(",")
now = datetime.now()
print(current_results)
for elem in parsed_results:
print(str(elem)+str(now))
parsed_results = current_results[0].split(",")
可以解决问题![=15=]