我正在尝试从此 json 文件中获取每个时间段的“5.调整关闭”数据。
{
"Meta Data": {
"1. Information": "Monthly Adjusted Prices and Volumes",
"2. Symbol": "IBM",
"3. Last Refreshed": "2024-02-22",
"4. Time Zone": "US/Eastern"
},
"Monthly Adjusted Time Series": {
"2024-02-22": {
"1. open": "183.6300",
"2. high": "188.9500",
"3. low": "178.7500",
"4. close": "184.2100",
"5. adjusted close": "184.2100",
"6. volume": "67308725",
"7. dividend amount": "1.6600"
},
"2024-01-31": {
"1. open": "162.8300",
"2. high": "196.9000",
"3. low": "157.8850",
"4. close": "183.6600",
"5. adjusted close": "182.0211",
"6. volume": "128121557",
"7. dividend amount": "0.0000"
}}}
我获取 json 文件并将其存储为“数据”。我希望这会起作用,但没有
r = requests.get(url2)
data = r.json()
for entry in data["Monthly Adjusted Time Series"]:
print(entry["5. adjusted close"])
您想循环这些值吗?当你循环字典时,它只给出键
>>> for _, entry in data["Monthly Adjusted Time Series"].items():
... print(entry["5. adjusted close"])
...
184.2100
182.0211
你说你有一个 JSON 文件。在这种情况下:
import json
with open("foo.json") as data:
d = json.load(data)
for v in d["Monthly Adjusted Time Series"].values():
print(v["5. adjusted close"])
for date, values in data["Monthly Adjusted Time Series"].items():
adjusted_close = values["5. adjusted close"]
print(f"For {date}, adjusted close: {adjusted_close}")
import json
json_string = '''{
"Meta Data": {
"1. Information": "Monthly Adjusted Prices and Volumes",
"2. Symbol": "IBM",
"3. Last Refreshed": "2024-02-22",
"4. Time Zone": "US/Eastern"
},
"Monthly Adjusted Time Series": {
"2024-02-22": {
"1. open": "183.6300",
"2. high": "188.9500",
"3. low": "178.7500",
"4. close": "184.2100",
"5. adjusted close": "184.2100",
"6. volume": "67308725",
"7. dividend amount": "1.6600"
},
"2024-01-31": {
"1. open": "162.8300",
"2. high": "196.9000",
"3. low": "157.8850",
"4. close": "183.6600",
"5. adjusted close": "182.0211",
"6. volume": "128121557",
"7. dividend amount": "0.0000"
}
}
}'''
data = json.loads(json_string)
monthly_adj_close = {date: data['Monthly Adjusted Time Series'][date]['5. adjusted close'] for date in data['Monthly Adjusted Time Series']}
print(monthly_adj_close)