将一列 Unix 时间戳转换为 UTC 格式

Converting a column of Unix time stamp to UTC format

我必须使用 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 的新手。如有任何帮助,我们将不胜感激。

提前致谢。

此致

鲁兹

您可以使用日期时间模块将数据格式化为您想要的任何日期格式。

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()