2016-08-13 55 views
-1

我想根據日期合併一系列股票價格數據。 但它不會工作。請幫忙。使用python追加股票價格數據

import pandas as pd 
import tushare as ts 


def get_all_tick(stockID): 

    dates=pd.date_range('2016-01-01',periods=5,freq='D') 
    append_data=[] 

    for i in dates: 

     stock_tick=pd.DataFrame(ts.get_tick_data(stockID,date=i)) 
     stock_tick.sort('volume',inplace=True, ascending=False) 
     stock_tick=stock_tick[:10] 
     stock_tick.sort('time',inplace=True, ascending=False) 

     append_data.append(stock_tick.iterrows()) 


get_all_tick('300243') 
+1

你是什麼意思,它不會工作,你會得到錯誤?意外的輸出?你需要提供更多的細節,如果你想幫助 – AChampion

+0

請閱讀[問] – Julien

+0

我的不好。運行代碼後它不顯示任何內容。我想我可能會使用循環功能錯誤。我剛剛在兩週前瞭解了python,並試圖將其用於財務數據。 –

回答

0

目測你的代碼,最明顯缺少的就是一個return聲明:

def get_all_tick(stockID): 

    dates=pd.date_range('2016-01-01',periods=5,freq='D') 
    append_data=[] 

    for i in dates: 

     # ... 

    return append_data 

無論是在return語句將調用get_all_tick('300243')

+0

感謝您的回覆。但它沒有返回任何錯誤,也沒有發生錯誤。 –

1

的結果我找出自己。

def get_all_tick(stockID): 
......... 
df = pd.DataFrame() 
for i in get_date: 

    stock_tick = ts.get_tick_data(stockID, date=i) 
    stock_tick['Date']=i 
    stock_tick.sort('volume', inplace=True, ascending=False) 
    stock_tick = stock_tick[:10] 
    stock_tick.sort('time', inplace=True, ascending=False) 
    df = df.append(stock_tick) 

    df.to_excel('tick.xlsx',sheet_name='Sheet1') 

get_all_tick('300243')