You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中同时执行多个函数并返回所有结果?

解决Python中同时返回多份tvDatafeed数据表格的问题

你当前的代码里,仅通过单独写变量名的方式,在Python交互式环境(如Jupyter)中只会返回最后一个变量的内容。要获取所有返回的表格,可采用以下几种实用方法:

方法1:使用print()逐个输出

直接为每个数据变量调用print(),可以依次打印所有表格:

from tvDatafeed import TvDatafeed, Interval

username = 'YourTradingViewUsername'
password = 'YourTradingViewPassword'

tv = TvDatafeed(username, password)

# 获取各类数据
nifty_index_data = tv.get_hist(symbol='NIFTY',exchange='NSE',interval=Interval.in_1_hour,n_bars=1000)
nifty_futures_data = tv.get_hist(symbol='NIFTY',exchange='NSE',interval=Interval.in_1_hour,n_bars=1000,fut_contract=1)
crudeoil_data = tv.get_hist(symbol='CRUDEOIL',exchange='MCX',interval=Interval.in_1_hour,n_bars=5000,fut_contract=1)
extended_price_data = tv.get_hist(symbol="EICHERMOT",exchange="NSE",interval=Interval.in_1_hour,n_bars=500, extended_session=False)

# 逐个打印所有数据表格
print("Nifty指数数据:")
print(nifty_index_data)
print("\nNifty期货数据:")
print(nifty_futures_data)
print("\n原油期货数据:")
print(crudeoil_data)
print("\nEICHERMOT常规时段数据:")
print(extended_price_data)

方法2:将数据存入容器后返回

把所有数据变量放进列表或元组,最后返回这个容器,就能一次性看到所有内容:

from tvDatafeed import TvDatafeed, Interval

username = 'YourTradingViewUsername'
password = 'YourTradingViewPassword'

tv = TvDatafeed(username, password)

nifty_index_data = tv.get_hist(symbol='NIFTY',exchange='NSE',interval=Interval.in_1_hour,n_bars=1000)
nifty_futures_data = tv.get_hist(symbol='NIFTY',exchange='NSE',interval=Interval.in_1_hour,n_bars=1000,fut_contract=1)
crudeoil_data = tv.get_hist(symbol='CRUDEOIL',exchange='MCX',interval=Interval.in_1_hour,n_bars=5000,fut_contract=1)
extended_price_data = tv.get_hist(symbol="EICHERMOT",exchange="NSE",interval=Interval.in_1_hour,n_bars=500, extended_session=False)

# 用元组打包所有数据
all_data = (nifty_index_data, nifty_futures_data, crudeoil_data, extended_price_data)
all_data

方法3:在Jupyter环境中用display()展示(更美观)

如果是在Jupyter Notebook/Lab中运行,导入display函数可以更美观地逐个展示表格:

from tvDatafeed import TvDatafeed, Interval
from IPython.display import display

username = 'YourTradingViewUsername'
password = 'YourTradingViewPassword'

tv = TvDatafeed(username, password)

nifty_index_data = tv.get_hist(symbol='NIFTY',exchange='NSE',interval=Interval.in_1_hour,n_bars=1000)
nifty_futures_data = tv.get_hist(symbol='NIFTY',exchange='NSE',interval=Interval.in_1_hour,n_bars=1000,fut_contract=1)
crudeoil_data = tv.get_hist(symbol='CRUDEOIL',exchange='MCX',interval=Interval.in_1_hour,n_bars=5000,fut_contract=1)
extended_price_data = tv.get_hist(symbol="EICHERMOT",exchange="NSE",interval=Interval.in_1_hour,n_bars=500, extended_session=False)

# 逐个展示数据表格
display(nifty_index_data)
display(nifty_futures_data)
display(crudeoil_data)
display(extended_price_data)

方法4:存入字典(方便后续按名称调用)

把数据存入字典,既可以查看所有表格,也能后续通过键名快速获取对应数据:

from tvDatafeed import TvDatafeed, Interval

username = 'YourTradingViewUsername'
password = 'YourTradingViewPassword'

tv = TvDatafeed(username, password)

# 用字典存储所有数据,键为自定义名称,值为对应数据表格
all_data_dict = {
    "nifty_index": tv.get_hist(symbol='NIFTY',exchange='NSE',interval=Interval.in_1_hour,n_bars=1000),
    "nifty_futures": tv.get_hist(symbol='NIFTY',exchange='NSE',interval=Interval.in_1_hour,n_bars=1000,fut_contract=1),
    "crudeoil_futures": tv.get_hist(symbol='CRUDEOIL',exchange='MCX',interval=Interval.in_1_hour,n_bars=5000,fut_contract=1),
    "eichermot_regular": tv.get_hist(symbol="EICHERMOT",exchange="NSE",interval=Interval.in_1_hour,n_bars=500, extended_session=False)
}

# 遍历字典打印所有数据
for name, data in all_data_dict.items():
    print(f"\n{name}数据:")
    print(data)

内容的提问来源于stack exchange,提问作者Anurag Jha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 22:45:38