Python 局部变量';df和x27;分配前参考
我不知道该怎么做这个练习 “您可以使用此模板获取DJIA会员的调整后收盘价 首先,你应该在线下载一份DJIA会员名单。 然后读入成员并在主函数中编写for循环,以获取所需的数据 提示,使用get_EOD_data函数中的'tickers'参数“Python 局部变量';df和x27;分配前参考,python,Python,我不知道该怎么做这个练习 “您可以使用此模板获取DJIA会员的调整后收盘价 首先,你应该在线下载一份DJIA会员名单。 然后读入成员并在主函数中编写for循环,以获取所需的数据 提示,使用get_EOD_data函数中的'tickers'参数“ 回溯(最近一次呼叫最后一次): 文件“/Users/katewang/Desktop/Test/scrape_data.py”,第32行,在 main() 文件“/Users/katewang/Desktop/Test/scrape_data.py”,第
回溯(最近一次呼叫最后一次):
文件“/Users/katewang/Desktop/Test/scrape_data.py”,第32行,在
main()
文件“/Users/katewang/Desktop/Test/scrape_data.py”,第28行,主文件
df_数据=获取EOD_数据()
文件“/Users/katewang/Desktop/Test/scrape_data.py”,第22行,在get_EOD_数据中
df.fillna(方法='ffill',inplace=True)
UnboundLocalError:赋值前引用了局部变量“df”
在本节中
. . . .
if r.status_code == requests.codes.ok:
# Use the parameters index_col and usecols to control which columns you want to scrape
df = pd.read_csv(StringIO(r.text), skipfooter = 1, parse_dates = [0], engine = 'python', na_values=['nan'])
df.fillna(method = 'ffill', inplace = True)
. . .
您会注意到变量
df
的赋值在一个条件语句中,这个条件语句很可能计算为false,因为r.status\u code
和requests.codes.ok
是不等价的df
只在r.status\u code==requests.codes.ok时获取一个值。当该条件为false时会发生什么?也许您应该将这两行df.fillna(…)
放入if
条件中。
Traceback (most recent call last):
File "/Users/katewang/Desktop/Test/scrape_data.py", line 32, in <module>
main()
File "/Users/katewang/Desktop/Test/scrape_data.py", line 28, in main
df_data = get_EOD_data()
File "/Users/katewang/Desktop/Test/scrape_data.py", line 22, in get_EOD_data
df.fillna(method = 'ffill', inplace = True)
UnboundLocalError: local variable 'df' referenced before assignment
. . . .
if r.status_code == requests.codes.ok:
# Use the parameters index_col and usecols to control which columns you want to scrape
df = pd.read_csv(StringIO(r.text), skipfooter = 1, parse_dates = [0], engine = 'python', na_values=['nan'])
df.fillna(method = 'ffill', inplace = True)
. . .