【问题标题】:dynamic naming for saving files保存文件的动态命名
【发布时间】:2017-03-20 00:07:13
【问题描述】:

我不确定正确的术语是否是动态命名,但我希望我正在创建的文件的名称可以随着我列表中的股票代码而改变。

stocks_query = ['AAPL','OPK'] #current stocks I have in my list/tuple
stocks.to_pickle('\\Users\Moondra\MachineLearning\stockPredictor-master\{}.pkl'.format(stocks_query))   #stocks is a dataframe

产生这样的结果:

['AAPL', 'OPK'].pkl

但我希望它更干净,并且正在寻找 aapl_opk.pklAAPL_OPK.pkl

我玩过正则表达式,但我真的不知道要完成这个任务。

     re.findall(r'(\w+)', str(stocks_query))
stocks.to_pickle('\\Users\Moondra\MachineLearning\stockPredictor-master\{}.pkl'.format(re.findall(r'(\w+)', str(stocks_query))))

这会产生与上面相同的结果;当我命名我的文件时,我不知道如何将“_”放在股​​票名称之间。

谢谢。

编辑:

使用元组进行更多操作

 stocks_query = ('AAPL', 'OPK', 'GOOGL')
str(stocks_query)
>>  "('AAPL', 'OPK', 'GOOGL')" , I was able to get this far using `re.sub`

x =re.compile(r'[)(]')
y = re.compile(r"[']")

re.sub(y, '_', re.sub(x, "", str(stocks_query))).replace(',', '')

导致AAPL_ _OPK_ _GOOGL_

理想的输出是AAPL_OPK_GOOGL

Re 似乎是一个非常强大的工具,我觉得可以做我想做的事,但我找不到合适的锚点/修饰符。

【问题讨论】:

    标签: python regex python-3.x string-formatting naming


    【解决方案1】:

    尝试以下方法:

    stocks_query = ['AAPL', 'OPK', 'GOOGL']
    filename = '_'.join(stock_query)
    stocks.to_pickle('\\Users\Moondra\MachineLearning\stockPredictor-master\{}.pkl'.format(filename))
    

    【讨论】:

    • 哇,这似乎工作得很好而且很简单。我会玩一点,确保没有问题。
    猜你喜欢
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 2020-09-20
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多