在python中将json文件时间戳格式更改为datetime的函数

ygya80vv  于 2022-12-15  发布在  Python
关注(0)|答案(2)|浏览(137)

这就是我目前所做的

import json
from datetime import datetime

f = open("group1.json","r")

group1 = json.load(f)

def timestamp_to_date():

    for item in group1:
        timestamp= item['date']
        timestamp = timestamp / 1000
        dt_obj = datetime.fromtimestamp(timestamp).strftime('%Y, %m, %d ')
  
    print(dt_obj)
    return dt_obj

timestamp_to_date()
f.close()

字符串
但是只返回一个值,我想用下面的函数循环整个dict。

# TODO
def timestamp_to_date(timestamp):
    raise NotImplementError('Please implement.')

# confirm success
assert timestamp_to_date(1584957443013) == datetime.date(2020, 3, 23)
print('Success.')
lymnna71

lymnna711#

如果需要返回多个值,则需要返回list

import json
from datetime import datetime

f = open("group1.json","r")

group1 = json.load(f)

def timestamp_to_date():
    l = []
    for item in group1:
        timestamp= item['date']
        timestamp = timestamp / 1000
        dt_obj = datetime.fromtimestamp(timestamp).strftime('%Y, %m, %d ')
        l.append(dt_obj)
        print(dt_obj)
  
    return l

timestamp_to_date()
f.close()

另外,如果要返回datetime,则不需要使用strftime

tnkciper

tnkciper2#

只需将循环提取到函数之外:

import json
from datetime import datetime

f = open("group1.json","r")

group1 = json.load(f)

dates = []

for item in group1:
    timestamp = item['date']
    date = timestamp_to_date(timestamp)
    dates.append(date)

f.close()

def timestamp_to_date(timestamp):
    timestamp = timestamp / 1000
    return datetime.fromtimestamp(timestamp).strftime('%Y, %m, %d ')

相关问题