我需要将时间戳存储在一个列表中,以便进行进一步的操作,并编写了以下代码:
import csv
from datetime import datetime
from collections import defaultdict
t = []
columns = defaultdict(list)
fmt = '%Y-%m-%d %H:%M:%S.%f'
with open('log.csv', 'r') as f:
reader = csv.reader(f, delimiter=',')
for row in reader:
#t = row[1]
for i in range(len(row)):
columns[i].append(row[i])
if (row):
t=list(datetime.strptime(row[0],fmt))
columns = dict(columns)
print (columns)
for i in range(len(row)-1):
print (t)但我发现了错误:
Traceback (most recent call last):
File "parking.py", line 17, in <module>
t = list(datetime.strptime(row[0],fmt))
TypeError: 'datetime.datetime' object is not iterable如何将每个时间戳存储在列表中的列中?
编辑1:下面是示例日志文件
2011-06-26 21:27:41.867801,KA03JI908,Bike,Entry
2011-06-26 21:27:42.863209,KA02JK1029,Car,Exit
2011-06-26 21:28:43.165316,KA05K987,Bike,Entry发布于 2017-11-22 05:43:48
如果您有一个csv文件,为什么不使用熊猫来获取您的want.The代码,您的问题可能是这样的。
import Pandas as pd
df=pd.read_csv('log.csv')
timestamp=df[0]如果csv的第一列具有时间戳,则有一个数组,其中包含列表中第一列中的所有条目,称为时间戳。
之后,可以使用datetime.datetime.strptime()将列表中的所有条目转换为时间戳对象。
希望这会有帮助。
发布于 2017-11-22 05:46:23
我现在还不能对此发表评论。这段代码会给你列表中的时间戳吗?如果是,请给我几行csv文件中的数据。
from datetime import datetime
timestamps = []
with open(csv_path, 'r') as readf_obj:
for line in readf_obj:
timestamps.append(line.split(',')[0])
fmt = '%Y-%m-%d %H:%M:%S.%f'
datetimes_timestamps = [datetime.strptime(timestamp_, fmt) for timestamp_ in timestamps]https://stackoverflow.com/questions/47427360
复制相似问题