我是python的新手,所以请听我说。我一直到处寻找,找不到如何专门做我需要的事情。我从网站请求天气信息,然后将其转换为.txt
文件。我想在搜索的单词旁边打印该值。请参见下面的.txt
文件摘录:
{"cod": "200", "message": 0.004, "cnt": 10, "list": [{"dt": 1548698400, "main": {"temp": 275.32, "temp_min": 274.915, "temp_max": 275.32,
我想搜索temp
,并打印275.32
。
添加了我的代码| API密钥已删除|与“ test”相关的单词围绕变量运行,以查看输出是否发生变化
import requests
import re
import time
import json
from datetime import datetime, timedelta
curDate=datetime.now().timestamp()
print(datetime.utcfromtimestamp(curDate).strftime('%Y-%m-%d %H:%M:%S'))
system = True
while system:
userInput=input("Type exit to leave or enter your city of choice: ")
findExit = re.search(r'xit', userInput)
findTheExit = re.search(r'XIT', userInput)
if str(findExit)=='None' and str(findTheExit)=='None':
weatherInfo = requests.get('https://api.openweathermap.org/data/2.5/forecast?q='+userInput+',us&appid=api_key_here&cnt=10')
test = weatherInfo.json()
testTwo = json.dumps(test)
info=json.loads(testTwo)
with open("Data.txt", "a") as outfile:
json.dump(test, outfile)
# Yassine Addi code added
with open('Data.txt', 'r') as fp:
data = json.load(fp)
for item in data['list']:
print(item['main']['temp'])
# Yassine Addi end
else:
print("System turning off, goodbye")
system=False
答案 0 :(得分:1)
如果您的文件是有效的JSON
,请执行此操作
import json
with open('a.txt', 'r') as fp:
data = json.load(fp)
for item in data['list']:
print(item['main']['temp']) # prints 275.32
考虑到a.txt
包含
{
"cod": "200",
"message": 0.004,
"cnt": 10,
"list": [
{
"dt": 1548698400,
"main": {
"temp": 275.32,
"temp_min": 274.915,
"temp_max": 275.32
}
}
]
}