0

以下は、再現可能な例のために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)

次の問題があります。

  1. ファイルのタイトルは でfilename.csv、接尾辞を削除したいです。
  2. グラフをディスクに保存する方法もわかりません。

すべてのグラフ (私は 52 個あります) が次々と点滅しています。I:\Graphsそれらすべてをフォルダ( )に保存できれば理想的です。ここでは、開くことができる形式として保存されてfilenameいるのと同じです。filename.csvfilename.pngfilename.jpeg

ドキュメントを読みました。存在する場合はグラフを置き換えると思いますgraph save mygraph。ディレクトリをループしているため、グラフの名前を変更していないため、毎回グラフが置き換えられます。

4

1 に答える 1