下载上市公司信息及公告原文到数据库

Tushare 下载股票数据时,往往数据下载量都很大,刚学的时候,往往都会将数据以.xlsx,或.csv的格式存储。
如:
data.to_excel(’’)
data.to_csv(’’)
这是最直接简单存储数据的方法,但是同样也有很多弊端
如:
1 数据容易被覆盖
2 数据读取复杂
3 数据格式
当然,以上问题都可以解决,但我还是想介绍一种很专业存储数据的方法:数据库。
数据库有很多种,anaconda3中支持的各种主流数据库都有,如MySQL、Postgresql、Oracle、MS SQLServer、SQLite。
试用一下sqlite.
#下载上市公司信息及公告原文到数据库里
import pandas as pd
import sqlite3
import numpy as np
import time
import tushare as ts
ts.set_token(’***************************************’)
pro = ts.pro_api()
conn=sqlite3.connect(“Stocklist.db”)
df=pd.read_csv(‘E:/python_data/company.csv’)
df.to_sql(‘Stocklist’,conn,if_exists=‘append’)
query1=“select name from sqlite_master where type=‘table’ order by name”#获取所有的表名
alreadylist=pd.read_sql(query1,conn)
df1 = np.array(df)
df2 = df1.tolist()#把array数组转换成list
stockcode=[x[1] for x in df2]
#print(stockcode)
for i in stockcode:
today = time.strftime(’%Y%m%d’,time.localtime(time.time()))
before = ‘20190101’
stockpro=pro.anns(ts_code=i, start_date=before, end_date=today, year=‘2019’)
stockpro.to_sql(‘Stockpro’,conn,if_exists=‘append’)
query2=“select name from sqlite_master where type=‘table’ order by name”#获取所有的表名
alreadylist=pd.read_sql(query2,conn)
query3= “SELECT * FROM table”
df = pd.read_sql(query3, conn)
print(‘OK’)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值