美國勞工局統計資料
將以下程式另存為文字檔,檔名test.txt,接下來利用wget下載。
data={"la.data.10.Arkansas","la.data.11.California", "la.data.12.Colorado","la.data.13.Connecticut", "la.data.14.Delaware","la.data.15.DC","la.data.16.Florida", "la.data.17.Georgia","la.data.18.Hawaii","la.data.19.Idaho", "la.data.2.AllStatesU","la.data.20.Illinois","la.data.21.Indiana", "la.data.22.Iowa","la.data.23.Kansas","la.data.24.Kentucky", "la.data.25.Louisiana","la.data.26.Maine","la.data.27.Maryland", "la.data.28.Massachusetts","la.data.29.Michigan", "la.data.3.AllStatesS","la.data.30.Minnesota", "la.data.31.Mississippi","la.data.32.Missouri", "la.data.33.Montana","la.data.34.Nebraska","la.data.35.Nevada", "la.data.36.NewHampshire","la.data.37.NewJersey", "la.data.38.NewMexico","la.data.39.NewYork", "la.data.4.RegionDivisionU","la.data.40.NorthCarolina", "la.data.41.NorthDakota","la.data.42.Ohio","la.data.43.Oklahoma", "la.data.44.Oregon","la.data.45.Pennsylvania", "la.data.46.PuertoRico","la.data.47.RhodeIsland", "la.data.48.SouthCarolina","la.data.49.SouthDakota", "la.data.50.Tennessee","la.data.51.Texas","la.data.52.Utah", "la.data.53.Vermont","la.data.54.Virginia", "la.data.56.Washington","la.data.57.WestVirginia", "la.data.58.Wisconsin","la.data.59.Wyoming","la.data.60.Metro", "la.data.61.Division","la.data.62.Micro","la.data.63.Combined", "la.data.7.Alabama","la.data.8.Alaska","la.data.9.Arizona"}; link="ftp://ftp.bls.gov/pub/time.series/la/"<>#&/@data; Run["wget "<>link[[#]]]&/@Range[Length@data] Exit
打開終端機,執行 math -run "<<test.txt" 即可。
http://www.quandl.com/ 網站資料
(* 下載網站XML *) templink=Import["http://www.quandl.com/economics/us-unemployment",{"XMLObject"}]; (* 擷取州名以及對應網址 *) statename=Cases[templink,XMLElement["a",{"shape"->"rect","href"->state1_/; (Length[Characters[state1]]==10&&StringMatchQ[state1, "/FRED/"~~__~~"UR"])},{state2_}]:>{state2,state1},Infinity] (* 根據州名時間區間擷取資料 *) datalink[state_String,{startY_,startM_,startD_},{endY_,endM_, endD_}]:=Block[{stateURL}, stateURL=Position[statename,state][[1,1]]; {statename[[stateURL,1]], "http://www.quandl.com/api/v1/datasets"<> statename[[stateURL,2]]<>".csv?&trim_start="<>startY<>"-"<> startM<>"-"<>startD<>"&trim_end="<>endY<>"-"<>endM<> "-"<>endD<>"&sort_order=desc"}] mydownloaddata[ state_String,{startY_,startM_,startD_},{endY_,endM_,endD_}]:= Block[{tempdata}, tempdata=Import[datalink[state,{startY,startM,startD}, {endY,endM,endD}][[2]]]; Flatten[{#,state}]&/@tempdata ] (* 賓州今年上半年失業率 *) mydownloaddata["Pennsylvania",{"2013","01","01"},{"2013","07","01"}] (* 為避免連線被擋,兩次擷取時間間隔五秒 *) mytestdata=(Pause[5];mydownloaddata[#,{"2000","01","01"},{"2013","07", "01"}])&/@(statename[[All,1]][[1;;3]]) DateListPlot[mytestdata[[#]][[2;;-1]][[All,{1,2}]]&/@Range[Length@mytestdata], PlotStyle->{PointSize[0.03]},Joined->True]
讀者回應 ( 0 意見 )
訂閱發佈留言 (Atom)
發佈留言
Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.
如果這篇文章對你有幫助,那請留個訊息給我~