Python-截断json数组中的时间戳
提供以下json数组:Python-截断json数组中的时间戳,python,json,timestamp,truncate,Python,Json,Timestamp,Truncate,提供以下json数组: [ { "2020-02-03T00:04:11.000Z": { "USD": [ 0.38449135, 422507.831002123, 0 ] }, "2020-02-04T00:04:08.000Z": { "USD": [
[
{
"2020-02-03T00:04:11.000Z": {
"USD": [
0.38449135,
422507.831002123,
0
]
},
"2020-02-04T00:04:08.000Z": {
"USD": [
0.39151832,
390909.273872433,
0
]
},
"2020-02-05T00:04:16.000Z": {
"USD": [
0.40914842,
498653.042530699,
0
]
}
]
我需要删除键值的分、秒和毫秒
如您所见,每个项目的键值都不同
结果应该是:
[
{
"2020-02-03": {
"USD": [
0.38449135,
422507.831002123,
0
]
},
"2020-02-04": {
"USD": [
0.39151832,
390909.273872433,
0
]
},
"2020-02-05": {
"USD": [
0.40914842,
498653.042530699,
0
]
}
]
此外,如果可以删除“USD”键,并且3个值将直接移动到日期的第一级,那就太好了。您可以使用
T
作为分隔符拆分键
请考虑下一个代码:
导入json
开始=[
{
“2020-02-03T00:04:11.000Z”:{
“美元”:[
0.38449135,
422507.831002123,
0
]
},
“2020-02-04T00:04:08.000Z”:{
“美元”:[
0.39151832,
390909.273872433,
0
]
},
“2020-02-05T00:04:16.000Z”:{
“美元”:[
0.40914842,
498653.042530699,
0
]
}
}
]
def过程_数据(数据):
结果=[]
对于k in数据:
结果+=数据[k]
返回结果
结果=[]
对于开始中的项目:
new_dict={}
对于项目中的dct_项目:
数据=过程数据(项目[dct\U项目])
截断=dct_项。拆分('T')[0]
如果在新目录中被截断:
新目录[截断]+=数据
其他:
新目录[截断]=数据
结果.追加(新命令)
打印(json.dumps(结果,缩进=4))
下面有一行
data = [
{
"2020-02-03T00:04:11.000Z": {
"USD": [
0.38449135,
422507.831002123,
0
]
},
"2020-02-04T00:04:08.000Z": {
"USD": [
0.39151832,
390909.273872433,
0
]
},
"2020-02-05T00:04:16.000Z": {
"USD": [
0.40914842,
498653.042530699,
0
]
}
}
]
short_data = {k[:k.find('T')]: v['USD'] for k, v in data[0].items()}
print(short_data)
输出
{'2020-02-03': [0.38449135, 422507.831002123, 0], '2020-02-04': [0.39151832, 390909.273872433, 0], '2020-02-05': [0.40914842, 498653.042530699, 0]}
非常感谢。这正是我需要的