今回は、前回とは違った形でファイル名が整理されている時です。
具体的にはこんな感じ。
result1_01.tsv result5_01.tsv result1_02.tsv result5_02.tsv result1_03.tsv result5_03.tsv
つまりは、01や03などのように桁数が2桁で固定されているような時ですね。
この場合は単にfor文を回すだけでは表現できないので少し工夫が必要です。
#-*- coding:utf-8 -*- import numpy as np #余談ですがタプルを使うとメモリを節約できます。 iTuple = (1,5,10) #01を表現するために小数点の数列を作成 jTuple = np.arange(0.1,0.6,0.1) for i in iTuple: for j in jTuple: #roundとsplitとjoinを使う #round:冗長な桁を削除する #split:小数点でぶった切った数字をそれぞれ保持する。strで文字に変換。 #join:リストに入った文字列を区切りなしで一つに結合 print("result{}_{}.tsv".format(i, ''.join(str(round(j,1)).split('.'))))
出力結果はこんな感じ。
result1_01.tsv result1_02.tsv result1_03.tsv result1_04.tsv result1_05.tsv result5_01.tsv result5_02.tsv result5_03.tsv result5_04.tsv result5_05.tsv result10_01.tsv result10_02.tsv result10_03.tsv result10_04.tsv result10_05.tsv
以上です。tips1かtips2を使えば、大体のファイルに対応できると思います。
他にも画像処理tipsで紹介した、拡張子で見分ける方法などがありますね。
csvやtsv、txtが混在している時は拡張子で見分けるのが最適です。
全然関係ないんだけど、ブログ始めてから大した記事書けてないです笑
2月はなんか大きめのことやりたいです。
p.s. DeepLearning系の学習で二番煎じにならんことなんかねぇのか・・・