首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多次调用API - pyhton

多次调用API - pyhton
EN

Stack Overflow用户
提问于 2021-11-22 12:18:11
回答 1查看 30关注 0票数 0

我正在尝试使用一个可以转换日期的API。我从一个包含完整日期的文件中检索数据,使用split和slice分别获得日、月和年。我需要发送每个日期,并将转换返回给用户。

我目前拥有的是:

代码语言:javascript
复制
def convert(day, month, year):
        gr_to_hb_url = 'https://www.hebcal.com/converter?cfg=json&gy='+ year+ '&gm='+ month+ '&gd='+ day+'&g2h=1'
        with urllib.request.urlopen(gr_to_hb_url) as response:
            data = response.read()
            obj = json.loads(data)
            
            results = [(result['hd'], result['hm'],result['hy']) for result in obj]
            return results
代码语言:javascript
复制
hby, hbm, hbd=convert(prep_day, prep_month, prep_year)
print(hby,hbm,hbd)

prep_ day /月/年是我如上所述分别从每一天检索的日、月和年。

错误I get TypeError:字符串索引必须是整数。

感谢任何帮助。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-22 12:25:27

查看请求的输出:

代码语言:javascript
复制
{"gy":2020,"gm":1,"gd":1,"afterSunset":false,"hy":5780,"hm":"Tevet","hd":4,"hebrew":"ד׳ בְּטֵבֵת תש״פ","events":["Parashat Vayigash"]}

我认为您可能需要以下内容:

代码语言:javascript
复制
def convert(day, month, year):
        gr_to_hb_url = 'https://www.hebcal.com/converter?cfg=json&gy='+ year+ '&gm='+ month+ '&gd='+ day+'&g2h=1'
        with urllib.request.urlopen(gr_to_hb_url) as response:
            data = response.read()
            obj = json.loads(data)
            
            results = (obj['hd'], obj['hm'],obj['hy'])
            return results

您所看到的错误的原因是,当您迭代字典类型时,您只得到值。在这种情况下,这将类似于以下内容(尽管在迭代字典时不能保证顺序) 2020,1,1,False,...我想你要遍历的第一个元素是类似"Tevet“的东西。如果result的值是"Tevet“,那么运行"Tevet"["hd"]将导致您看到的错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70065637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档