請原諒我的新手,但我找不到解決方案。
我正在使用一個以 json 格式回傳我的資料的 API,在操作之后我需要將其轉換為 python 串列,以便我可以使用串列中的每個索引作為整數進行進一步計算。
json 輸出針對一個變數,它的輸出看起來不錯,但它不是數字串列。
這是我的代碼示例:
import requests
import json
import time
import calendar
import pendulum
from mytoken import token
# Change serial
my_serial_numbers = ['123456789']
for serial in my_serial_numbers:
try:
recording_availibility_api = requests.get('https://api.sample.com/' serial '/path...',headers={"content-type": "application/json", "Authorization":"Bearer " token})
recordings_files = json.loads(recording_availibility_api.content.decode('utf-8'))
for camId1 in (recordings_files['data'][0]['intervals']):
cameraId1 = camId1.pop('end')
dt_camera1 = pendulum.parse(cameraId1)
time_camera1 = dt_camera1.int_timestamp
time_camera1_str = str(time_camera1)
print(time_camera1_str)
except KeyError:
print('edge is offline')
continue
輸出:
1641055957
1641104678
1641109926
1641142409
1641228862
1641237806
1641245124
1641306172
1641313527
1641315317
1641317850
1641320175
1641367757
1641383666
我想要實作的目標:[1641055957、1641104678、1641109926、1641142409、......]
我試圖將這些輸出中的每一個作為串列中的索引。
非常感謝任何指導。
uj5u.com熱心網友回復:
如果我的理解是正確的,那么您需要為讀取的專案創建一個新串列(我time_strs在下面的代碼中將其命名)并將.append您的專案添加到此串列中:
# imports not repeated
# Change serial
my_serial_numbers = ['123456789']
time_strs = []
for serial in my_serial_numbers:
try:
recording_availibility_api = requests.get('https://api.sample.com/' serial '/path...',headers={"content-type": "application/json", "Authorization":"Bearer " token})
recordings_files = json.loads(recording_availibility_api.content.decode('utf-8'))
for camId1 in (recordings_files['data'][0]['intervals']):
cameraId1 = camId1.pop('end')
dt_camera1 = pendulum.parse(cameraId1)
time_camera1 = dt_camera1.int_timestamp
time_camera1_str = str(time_camera1)
time_strs.append(time_camera1_str)
except KeyError:
print('edge is offline')
continue
print(time_strs)
uj5u.com熱心網友回復:
如果您打算在串列中包含這些索引,您會遇到一個問題,即您需要一個長度為 ~1641383666 的串列(此處僅獲取其中一個輸出以供參考)。Python 中更好的方法是使用字典,如下所示:
myDictionary = {}
然后,分配:
myDictionary[1641383666] = None
并訪問:
x = myDictionary[1641383666]
編輯:現在已經看到了您的預期輸出,解決方案更加清晰。如果您只想要一個數字串列,請不要使用字典。只需在每次迭代結束時使用 .append(item) 并使用標準串列。
timestamps = []
#then at the print statement
timestamps.append(timestamp)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/412335.html
標籤:
上一篇:json陣列中的賽普拉斯推送值
下一篇:如何使用串列決議JSON?
