向已保存的csv文件中添加新的股票數據

股市每天都在產生新的數據,如果每次都從頭讀,不是不可以,但是會無謂地耗費很多時間。向已有的文件添加新產生的數據可以很好地解決這個問題。

# 向已有的csv文件添加新的股票數據

import pandas as pd
import tushare as ts
import datetime as dt

from pandas import DataFrame

# 讀入已有的數據
df = pd.read_csv('sh600519', index_col = 'date',
                  parse_dates=['date'])[['open','close','high','low','volume','code']]

# 新數據從哪天開始讀(最後一天加1天)
newdt = df.index[-1] + dt.timedelta(days=1)

# 讀新的數據,直接使用原有的股票代碼
df1 = ts.get_k_data(df.code[0], newdt.strftime("%Y-%m-%d"))

# 判斷是否讀到了新數據
if (df1.size > 0):
    df1['date'] = pd.to_datetime(df1['date'])  # 把字符格式的日期轉爲日期對象
    df1.set_index('date', inplace = True)  # 設爲索引,以保持與原有數據格式的統一

    # 將新數據合併到已有的數據中
    df = df.append(df1)

    # 保存原有的和新讀到的完整數據
    df.to_csv('sh600519')
else:
    print("沒有新數據")

 

致謝:

https://www.jianshu.com/p/4ece5843d383 日期字段轉爲索引

https://www.cnblogs.com/avivi/p/10813247.html 合併數據集

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章