gpt4 book ai didi

Python循环通过url json数据不存储循环结果

转载 作者:行者123 更新时间:2023-12-04 07:33:38 25 4
gpt4 key购买 nike

尝试从 url 循环遍历 json 结果,然后仅在每 1 分钟自上次结果以来发生更改时才打印结果。一切正常,除了结果只是被重写,所以它总是显示“没有任何改变”。

import time
import sys
import pandas as pd


def main():
result = []
print('Checking for available campsites....')


url = "https://api.reserve.albertaparks.ca/api/public/campgrounds/67/availability?campingType=campsite" \
"&arrivalDt=01-Aug-2021&departureDt=13-Sept-2021&unitSize=40&siteType=VEH"
result = pd.read_json(url)


df = pd.DataFrame.from_records(result['availability'])
df = df[df['available'] == True]
df = df[df['fcfs'] == False]
df.set_index('date', inplace=True)
print(df)

res_before = ""
while True:
res = main()
if res != res_before:
print(res)
res_before = res

else:
print("nothing changed")
# time.sleep(300)

for i in range(60):
msg = "Pausing for 1 minute"
sys.stdout.write("\r{} {} seconds ".format(msg, i))
time.sleep(1)
sys.stdout.flush()
             available   fcfs
date
01-Aug-2021 True False
02-Aug-2021 True False
03-Aug-2021 True False
04-Aug-2021 True False
05-Aug-2021 True False
06-Aug-2021 True False
07-Aug-2021 True False
08-Aug-2021 True False
09-Aug-2021 True False
10-Aug-2021 True False
Checking for available campsites....
None
Pausing for 1 minute 59 seconds Checking for available campsites....
nothing changed

最佳答案

正如@Praveen 所指出的,您没有从函数中返回任何内容。下面是一段代码,其中进行了一些更改,可以使您的代码正确运行。请参阅注释行以了解所需的更改。

    df.set_index('date', inplace=True)
print(df)
return df #>>>> return dataframe

res_before = pd.DataFrame() #>>>> want to compare dataframes correctly
while True:
res = main()
if not res.equals(res_before): #>>>> want to compare dataframes correctly
print(res)
res_before = res

关于Python循环通过url json数据不存储循环结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67827195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com