剛開始是想的用excel內置數據獲取加excel vba實現。
我花了一個小時的時間錄宏,
大致就是在打開excel之後,
定時去從網站獲取數據粘貼到另外的sheet頁裏邊,
基本實現了功能。
代碼如下:
<pre name="code" class="vb">Sub Macro2()
'
' Macro2 Macro
'
'
Dim 主菜單欄 As CommandBar
On Error Resume Next
Application.CommandBars("我的主菜單").Delete
Set 主菜單欄 = Application.CommandBars.Add
With 主菜單欄
.Visible = True
.Name = "我的主菜單"
.Position = msoBarTop
End With
'菜單恢復
'
DoEvents
Sheets("網站下載").Select
Range("A2:G2").Select
Selection.Copy
Sheets("數據表").Select
Range("A4180").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A4179").Select
Application.CutCopyMode = False
Selection.Copy
Range("A4180").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWindow.ScrollRow = 4142
ActiveWindow.ScrollRow = 8
ActiveWindow.ScrollRow = 1
Rows("2:2").Select
Selection.Delete Shift:=xlUp
ActiveWindow.ScrollRow = 8
ActiveWindow.ScrollRow = 4126
ActiveWindow.ScrollRow = 4147
Range("H4179").Select
Application.OnTime Now + TimeValue("09:30:00"), "Macro1"
'定時每10秒執行一次,直到11點13分
'
End Sub
***********************************************************
Sub doevent()
Dim 主菜單欄 As CommandBar
On Error Resume Next
Application.CommandBars("我的主菜單").Delete
Set 主菜單欄 = Application.CommandBars.Add
With 主菜單欄
.Visible = True
.Name = "我的主菜單"
.Position = msoBarTop
End With
'菜單恢復
'
DoEvents
If Sheets("網站下載").Range("A2").Value = Sheets("數據表").Range("A4179").Value Then Exit Sub Else Application.OnTime Now, "Macro2"
'比較數據,如果相同則退出
'
End Sub
import urllib
url = 'http://chart.finance.yahoo.com/table.csv?'
url +='s=600000.SS'
url += '&a=7&b=4&c=2000' #開始時間
url +='&d=2&e=16&f=2016'#結束時間
url +='&g=d&ignore=.csv'
#params=urllib.urlencode({})
connect =urllib.urlopen(url)
data = connect.read()
#print data
urllib.urlretrieve(url,'./msft.csv')
import numpy as np
import pandas as pd
url = 'http://chart.finance.yahoo.com/table.csv?'
url +='s=600000.SS'
url += '&a=7&b=4&c=2000' #開始時間
url +='&d=2&e=16&f=2016'#結束時間
url +='&g=d&ignore=.csv'
data = pd.read_csv(url, parse_dates=['Date'])
data.plot(x='Date',y='Close')