我试图使用一个.json文件,并希望创建一个新的.csv文件来计算完成一个级别所需的总时间,该级别介于startTask和endTask之间。从那里我该去哪里
这是一个在Python3中运行的辅助项目。在过去,我尝试了不同的方法来计算完成一个级别的总时间,它介于startTask和endTask之间,但total_time列为空
filtered_data = []
for element in revised_data:
if element[1].get('action_id', '') == 'state-save':
continue # skips it
if 'state-path' in element[1].get('action_id', ''):
continue # skips it
filtered_data.append(element)
new_data = []
targets = ['session_id','user_id','quest_id','quest_detail', 'quest_seq_id','dynamic_quest_id','action_id',
'action_detail','client_timestamp']
for i in range(len(filtered_data)):
element = filtered_data[i]
previous = filtered_data[i - 1]
new_element = {
"type": element[0]
}
for target in targets:
new_element[target] = element[1].get(target, '')
# Calculate the total time to complete a level.
time = datetime.fromtimestamp(new_element['client_timestamp']/1000)
new_element['time_stamp'] = time.strftime("%Y-%m-%d %H:%M:%S")
new_element['time_elapsed'] = ''
if element[0] == 'startTask':
row = []
start = element
elif element[0] == 'action':
pass
#new_element['total_time'] = new_element['client_timestamp'] - previous[1]['client_timestamp']
#new_data.append(new_element)
elif element[0] == 'endTask':
end = element
new_data.append(row)
headers = ["type", "time_elapsed", "time_stamp", "total_time"] + targets # similar to prepend
name_of_file = sys.argv[1] + "_1" + ".csv"
with open(name_of_file, 'w', newline='') as saved_file: # Write the file so that you can save the file
# Write some data and write a dictionary writer
w = csv.DictWriter(saved_file, fieldnames=headers) # look at dictionary and order labels in order
w.writeheader() # writes the top row of file with labels for you
w.writerows(new_data)
我希望total_time列包含startTask和endTask之间发生的所有操作的总时间,但实际上没有结果
目前没有回答
相关问题 更多 >
编程相关推荐