#headers
from alpha_vantage.timeseries import TimeSeries
from pprint import pprint
import json
import argparse
def save_dataset(symbol, time_window):
credentials = json.load(open('creds.json', 'r'))
api_key = credentials['api key']
print(symbol, time_window)
ts = TimeSeries(key=api_key, output_format='pandas')
if time_window == 'intraday':
data, meta_data = ts.get_intraday(
symbol='MSFT', interval='1min', outputsize='full')
elif time_window == 'daily':
data, meta_data = ts.get_daily(symbol, outputsize='full')
elif time_window == 'daily_adj':
data, meta_data = ts.get_daily_adjusted(symbol, outputsize='full')
pprint(data.head(10))
data.to_csv(f'./{symbol}_{time_window}.csv')
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('symbol', type=str, help="the stock symbol you want to download")
parser.add_argument('time_window', type=str, choices=[
'intraday', 'daily', 'daily_adj'], help="the time period you want to download the stock history for")
namespace = parser.parse_args()
save_dataset(**vars(namespace))
我得到一个save_data_to_csv.py:错误:需要以下参数:symbol,time_window 我该如何解决这个问题 我包括了头文件
答案 0 :(得分:0)
试试看
save_dataset(**namespace)
Parse_args返回一个字典,其中的键是您的变量,而值是从输入传递的。如果您使用vars(namespace),则由于字典不具有__dict__
属性而出错。
请注意,由于函数采用位置参数,因此您也可以这样做。
save_dataset(*namespace.values())