我想遍历多个csv
文件,以更改日期变量的格式并生成图表,每个图表的标题都是相应文件的名称。
csv
以下是使用创建的文件之一的示例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
格式的。我确保所有文件中的变量名都是相同的。
我想获取每个文件,将其scrapedate
从字符串转换为日期格式。然后,我想在 y 轴上绘制由四个变量average
、thpercentile
、和 表示的四条线v5
,。v6
ScrapeDate
到目前为止,基于谷歌搜索,我尝试了以下代码:
local files : dir "I:\Games CSVs" files "*.csv"
cd "I:\Games CSVs"
foreach file in `files' {
insheet using `file', comma clear
/* Convert string to date format */
gen ScrapeDate = date(scrapedate, "YMD")
format ScrapeDate %td #Convert string to date format
/* X Axis: price, Y Axis: ScrapeDate; Plotting, averages, 25th, 50th and 75th percentile */
line average thpercentile v5 v6 ScrapeDate, legend(size(medsmall))
}
上面的代码包含在一个do
文件中。问题是,当我这样做时File -> Do.. -> filename.do
,我看不到任何图表,它只是在我的窗口中显示为end of do file
。我没有看到图表!
我希望我的代码没有错误或任何错误,因为在左侧面板上,do "path/filename.do"
显示为红色。我已经删除了文件中的所有空白行do
,它没有分号,这与 Google 搜索答案的内容相反(答案有分号)。
我希望能够访问图表!但是它们存储在哪里?
我能够使用以下代码仅使用一个文件在一定程度上完成我想要的事情:
insheet using "I:\Games CSVs\oneofthecsvfiles.csv"
gen ScrapeDate = date(scrapedate, "YMD")
format ScrapeDate %td
line average thpercentile v5 v6 ScrapeDate, legend(size(medsmall))
最后,上面的代码将 date 变量转换为数字,但将格式从2015-12-17
最初更改为17dec2015
.
有没有办法让它成为2015/12/17
或2015-12-17
?