python - 如何将纪元时间值转换为本地时间?
问题描述
问题是如何在每一行中传递纪元时间的数值并将其转换为本地时间。
输入文件:log_data.csv
id: 535, epoch_time: 1611773844, nsecs: 158737495, state: 2,status: 1
id: 536, epoch_time: 1611773844, nsecs: 258731299, state: 2,status: 1
id: 537, epoch_time: 1611773844, nsecs: 358585677, state: 4,status: 3
id: 538, epoch_time: 1611773844, nsecs: 458462033, state: 2,status: 1
代码片段:
import datetime
def time(data):
fmt = "%Y-%m-%d %H:%M:%S"
t = datetime.datetime.fromtimestamp(float(s)/1000.)
print t.strftime(fmt)
def read_comlumn():
for line in open("log_cleaning_3_final.log"):
columns = line.split(',')
解决方案
您可以使用csv
模块并从这里开始
import csv
import datetime
def convert(data):
fmt = "%Y-%m-%d %H:%M:%S"
t = datetime.datetime.fromtimestamp(float(data)/1000.)
return t.strftime(fmt)
with open('log_cleaning_3_final.log', 'r') as f:
csv_data = csv.reader(f)
csv_lines = list(csv_data)
for line in csv_lines:
line[1] = convert(line[1].split(':')[1].strip())
with open('log_cleaning_3_final.log', 'w') as f:
writer = csv.writer(f)
writer.writerows(csv_lines)
推荐阅读
- parallel-processing - RuntimeError:模块必须在设备 cuda:1 (device_ids[0]) 上有其参数和缓冲区,但在设备上找到其中之一:cuda:2
- javascript - Azure 分析 UDF
- python - 如何制作 N 个列表来填充数据?
- r - 将结果从包 bife 输出到 word
- java - 创建名为“resourceHandlerMapping”的 bean 时出错
- sql - 创建 Burn-Earn 积分映射
- python-3.x - 对固定的 input_shape 模型使用更长的 input_shape
- php - I'm including this BurakBoz/CyberLink Library in my example project but it displays error for the sub classes included
- javascript - 使用 JQuery onfocusout 或 onblur 事件时如何重新关注输入元素?
- java - 如何知道 gradle 进程已经结束?