python - Python函数在一些迭代后停止工作
问题描述
from yahoo_fin.stock_info import *
n=0
Ptf_opp_2=[]
lenght_2=len(Ptf_opp)
def step2():
for n in range(0,lenght_2):
Bs=get_balance_sheet(Ptf_opp[n])
tca=Bs.loc[Bs.get('Breakdown').str.match('Total Current Assets')]
tl=Bs.loc[Bs.get('Breakdown').str.match('Total Liabilities')]
tcl=Bs.loc[Bs.get('Breakdown').str.match('Total Current Liabilities')]
if (tca.iloc[0,1] != None and \
tca.iloc[0,1] != '-' and \
tl.iloc[0,1] != None and \
tl.iloc[0,1] != '-' and \
tcl.iloc[0,1] != None and \
tcl.iloc[0,1] != '-' and \
(float(tcl.iloc[0,1]) / float(tca.iloc[0,1])) < 1.1 and\
(float(tca.iloc[0,1]) / float(tl.iloc[0,1])) > 1.5):
Ptf_opp_2.append(Ptf_opp[n])
step2()
大家好,我是python新手,我正在尝试为大学考试编写代码,这是我项目的一部分,它可以运行,但是经过一些迭代后,Bs=get_balance_sheet(Ptf_opp[n])
停止工作(真的可以工作,但只是创建了一个数据框[0,0]
这是没用的,也不正确)。
该代码的目的是在检查包含在其中的股票代码Ptf_opp[n]
满足下面的边界条件后创建一个新的数据帧。
此外,如果有人有任何改进我的代码的提示,我将不胜感激。
解决方案
不要这样做:from yahoo_fin.stock_info import *
做:from yahoo_fin import stock_info
stock_info.get_balance_sheet
然后识别它来自哪里的函数
我猜你正在达到 API 使用的速率限制,前提是该函数实际上是在联系 yahoo
推荐阅读
- oracle - 我可以使用连接 DB2 和 Oracle 的 dblink 用于 DB2 上的 DML 操作吗?
- ios - Collectionview动态宽度不起作用Swift
- c++ - 向量的 C++ 读取访问冲突
- php - 在 MySQL 中使用 SELECT DISTINCT 从数据中删除非字母字符
- c - 每当我在输出端打印时出现额外字符
- azure - Azure 部署槽复制自定义域
- java - 在页面对象模型框架中存储数据的最佳方式是什么
- c - 将确切的定义留给图书馆客户
- ionic-framework - 在 ionic 3 应用程序 (cordova-androidwear) 上使用 cordova 插件
- php - How to give name to array values in PHP