2017-03-20 7 views
0

올바른 용어가 동적 이름인지 확실하지 않지만 작성중인 파일의 이름을 내 목록에있는 주식 시세 표시기로 변경하고 싶습니다.파일 저장을위한 동적 이름 지정

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.pkl 또는 AAPL_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)))) 

이는 위와 동일한 결과를 산출한다. 내 파일 이름을 지정할 때 주식 이름 사이에 '_'을 넣는 방법을 모르겠습니다.

감사합니다.

편집 :

AAPL_ _OPK_ _GOOGL_ 결과 튜플

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

다시는 매우 강력한 도구가 될 것입니다 내가하고 싶은 일을 할 수 있다고 느끼지만 올바른 앵커/수식어를 찾을 수 없습니다.

답변

1

는 다음과 같은 시도 :

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

와우,이 완벽하게 그렇게 간단한 작동하는 것 같다. 나는 조금 놀아서 문제가 없는지 확인합니다. – Moondra

+0

잘 작동하는 것 같습니다. 정말 고맙습니다. – Moondra