向已保存的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 合并数据集

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