2016-05-24 1 views
0

私のコードはglobを使って複数のファイルを繰り返し、各入力ファイルの図を作成してsavefigを使って保存します。私は現在の入力ファイルの名前の要素を現在のプロットのタイトルと現在の出力ファイルの名前の両方に組み込もうとしています。 This questionは現在のファイル名の使用方法を扱いますが、ファイル名全体を使用することは望ましくありません。入力ファイル名の要素をFigureのタイトルと図形ファイル名に組み込みます

は、例えば、私はプロット「18/02/2003 2300UTC Atmospheric Conditions (sea breeze day)」と私は、入力ファイル名を分割し、(異なる要素を使用することができますどのように出力ファイル18/02/2003 2300UTC Atmospheric Conditions (sea breeze day).pngに名前を付けたいと思い、200302182300_040842.oaxは、現在のファイル名であると言う例えば、年、月、日)をプロットのタイトルと出力ファイル名の中に入れますか?

私が使用しているコードの例は以下のとおりです。

import glob 
import os 
import matplotlib.pyplot as plt 

os.chdir('X:/stormdays') 
for file in glob.glob("*.oax"): 
    spc_file = open(file, 'r').read() 
    try: 
     plt.title('140616/1900 (Observed) - Sea Breeze Day', fontsize=12, loc='left') 
     plt.savefig('X:/stormgraph.png') 


    except Exception: 
     pass 
+0

[OK]を@デビッドは、私が非関連コードサンプルを削除している問題を修正してください。 –

+0

非常に良い!私はあなたの質問に答えることはできませんが、Pythonを知らなくても、今理解するのがずっと簡単です。 – David

+0

ファイル名からどのように大気条件(「大気条件」(海風の日)など)を取得しますか?それとも、すべてのファイルで同じですか? – Nishant

答えて

1

これは、これを行うためのMATLABコードです。ファイル名に '/'を付けることができないので、私はそれを ' - 'に置き換えます。 (あなたのコードに基づいて)

files = dir('C:\directory\.*oax') 
for ind = 1:numel(files) 
    filename = files(ind).name 
    newName = [filename(7:8),'-',filename(5:6),'-',filename(1:4),' ',filename(9:12),' (Observed) - Sea Breeze Day','.png'] 
    figureHandle = figure() 
    \\your code to plot 
    savefig(figureHandle,newName) 
end 

Pythonコード

import glob 
import os 
import matplotlib.pyplot as plt 

os.chdir('X:/stormdays') 
for file in glob.glob("*.oax"): 
    spc_file = open(file, 'r').read() 
    try: 
     newName = file[6:8] + '-' + file[4:6] + '-' + file[0:4] + ' ' + file[8:12] + ' (Observed) - Sea Breeze Day' 
     plt.title(newName, fontsize=12, loc='left') 
     plt.savefig('X:/' + newName + '.png') 


    except Exception: 
     pass 
+0

このmatlabコードはPythonに移植可能ですか? –

+0

こんにちは@Nishant、いくつかの問題が起こっていたが、今は完全に実行されています。ありがとう!回答が受け入れられました。 –

関連する問題