以下は、再現可能な例のためにcsv
作成したファイルの 1 つです。dataex
clear
input str32 eventname str10 scrapedate float(average thpercentile v5 v6)
"EventName" "2015-12-15" 136.9255 83.2 104.875 148.75
"EventName" "2015-12-16" 130.4555 78.55 99 138.22
"EventName" "2015-12-17" 123.66705 72.7 90.25 131.2
"EventName" "2015-12-18" 116.45757 64.855 78.55 119.5
"EventName" "2015-12-19" 108.63446 60.56333 72.7 119.07333
"EventName" "2015-12-20" 94.97125 55.15 69.77 112.48
end
前の質問への回答のおかげで、次のコマンドを使用してディレクトリをループし、各ファイルを"I:\Games CSVs\"
読み取るようにコードを適応させることができました。csv
insheet using "`file'", comma clear
次に、新しい変数を作成してデータ形式を希望どおりに変更し、折れ線グラフを生成します。
これが私のコードです:
local foodir "I:\Games CSVs\"
local files : dir "`foodir'" files "*.csv"
cd "`foodir'"
local i = 0
foreach file of local files {
local ++i
insheet using "`file'", comma clear
generate ScrapeDate = daily(scrapedate, "YMD")
format ScrapeDate %tdYY-NN-DD
line average thpercentile v5 v6 ScrapeDate, name("graph`i'", replace) ///
scale(*.7) ///
local filename = substr("`file'", 1, strlen("`file'")-4) ///
title(filename) ///
ytitle("Price in US$") ///
legend(size(small))
}
問題のある行は次のとおりです。
local filename = substr("`file'", 1, strlen("`file'")-4)`
title(filename)
私も試しました:
generate filename = substr("`file'", 1, strlen("`file'")-4)`
title(filename)
次の問題があります。
- ファイルのタイトルは で
filename.csv
、接尾辞を削除したいです。 - グラフをディスクに保存する方法もわかりません。
すべてのグラフ (私は 52 個あります) が次々と点滅しています。I:\Graphs
それらすべてをフォルダ( )に保存できれば理想的です。ここでは、開くことができる形式として保存されてfilename
いるのと同じです。filename.csv
filename.png
filename.jpeg
ドキュメントを読みました。存在する場合はグラフを置き換えると思いますgraph save mygraph
。ディレクトリをループしているため、グラフの名前を変更していないため、毎回グラフが置き換えられます。