python需要以下参数

时间:2019-10-15 10:39:02

标签: python

#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 我该如何解决这个问题 我包括了头文件

1 个答案:

答案 0 :(得分:0)

试试看

save_dataset(**namespace)

Parse_args返回一个字典,其中的键是您的变量,而值是从输入传递的。如果您使用vars(namespace),则由于字典不具有__dict__属性而出错。

请注意,由于函数采用位置参数,因此您也可以这样做。


save_dataset(*namespace.values())