我必须使用python脚本将Unix时间戳的col5转换为UTC格式(YYYY-MM-DD hh:mm:ss),并在以下数据中为UTC格式创建新的col6。
col1 col2 col3 col4 col5
0 0 0 1 1231006505 1 1 0 1 1231469665 2 2 0 1 1231469744 3 3 0 1 1231470173 4 4 0 1 1231470988 5 5 0 1 1231471428 6 6 0 1 1231471789 7 7 0 1 1231472369 8 8 0 1 1231472743 9 9 0 1 1231473279 10 10 0 1 1231473952 11 11 0 1 1231474360 12 12 0 1 1231474888 13 13 0 1 1231475020 14 14 0 1 1231475589 15 15 0 1 1231562746 16 16 0 1 1231562758 17 17 0 1 1231563791 18 18 0 1 1231564334 19 19 0 1 1231564974 20 20 0 1 1231565995 21 21 0 1 1231566553 22 22 0 1 1231567467
我是python的新手。对此的任何帮助都将受到高度赞赏。
提前致谢 。
问候
Ribjh
您可以使用datetime模块将数据格式化为您想要的任何日期格式。
from datetime import datetime
unix_timestamp = float("1231006505")
utc_timestamp = datetime.utcfromtimestamp(unix_timestamp)
print(utc_timestamp.strftime("%Y-%m-%d %H:%M:%S"))
您可以查看strftime()here的所有不同格式选项
祝好运!
用以下代码解决:
import csv
from datetime import datetime
d={}
fin = open("unix.txt","r")
fout = open("unixtoutc.txt",'w')
foutWriter=csv.writer(fout)
for line in fin:
line = line.rstrip()
f = line.split("\t")
k=f[0]
unix_timestamp = float(f[0])
utc_timestamp = datetime.utcfromtimestamp(unix_timestamp)
df=(utc_timestamp.strftime("%Y-%m-%d %H:%M:%S"))
print(df)
foutWriter.writerow([f[0]+"\t"+df])
fin.close()
fout.close()