R语言:抓取股票数据并存入数据库进行分析实例 MySQL

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了R语言:抓取股票数据并存入数据库进行分析实例 MySQL脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

R语言连接MySQL

准备:

  1. R: https://cloud.r-project.org/b...
    R studio: https://download1.rstudio.org...
  2. RODBC
    R studio console下

       > Install.packages(RODBC) 
    
  3. 安装MySQL

    https://dev.mysql.COM/get/Downloads/MySQLInstaller/mysql-installer-commUnity-8.0.12.0.msi
  4. 配置ODBC
    a) 控制面板系统和安全管理工具数据(odbc)

    R语言:抓取股票数据并存入数据库进行分析实例 MySQL

    b) 点击系统DSN - 添加

R语言:抓取股票数据并存入数据库进行分析实例 MySQL

R语言:抓取股票数据并存入数据库进行分析实例 MySQL



    c)  填写数据源设置,
        数据源名dataSourseName:RODBC用于连接数据库的名称
        描述 description: 可不填
        TCP/IP server:用tcp/iP连接需填写ip,本地默认填127.0.0.1或localhost
        Name PiPE:使用MySQL中所设置的用户连接(需在MySQL中存在对应用户)
        DataBase:选择需要操作的数据库,这里选择已存在的名为mysql的数据库
        点击test提示连接成功即可开始Rstudio下载数据操作



下载数据并存储

#!/path/to/Rscript
#载入quantmod包以用于下载数据
library("quantmod")
#定义一个全局变量存储数据
stockData<- new.env()
#定义开始时间、截止时间
startDate = as.Date("2017-01-01")
endDate = as.Date("2017-12-31")
#选择需要查询的股票代号存入一个数组中
tickers <- c("AAPL")
#下载数据
getSymbols(tickers,env = stockData,src = "yahoo",from= startDate,to = endDate)
#options(max.print = 10000)
#print(stockData$AAPL)

#载入RODC包
library(RODBC)
#odbc建立连接
channel <-odbcConnect("stockdata",uid="sqlUser",pwd ="1234")
#查询数据库中已有表
sqlTables(channel)
#将数据存入一个数据框中
open <- stockData$AAPL[,1]
high <- stockData$AAPL[,2]
low <- stockData$AAPL[,3]
close <- stockData$AAPL[,4]
volume <- stockData$AAPL[,5]
adjusted <- stockData$AAPL[,6]
sheet<-data.frame(open,high,low,close,volume,adjusted)
#将该数据框sheet作为“stock_table”表存入数据库,将所有行名作为第一列保存
sqlSave(channel,sheet,tablename = "stock_table",rownames = TRUE)

苹果[AAPL]从2017-01-01至2017-12-31股票数据已存入数据库中stock_Table表中
可使用RODBC 函数执行查找(paste()添加一段可执行SQL语句)

> sqlQuery(channel,sqtable)

R语言:抓取股票数据并存入数据库进行分析实例 MySQL

R语言:抓取股票数据并存入数据库进行分析实例 MySQL

脚本宝典总结

以上是脚本宝典为你收集整理的R语言:抓取股票数据并存入数据库进行分析实例 MySQL全部内容,希望文章能够帮你解决R语言:抓取股票数据并存入数据库进行分析实例 MySQL所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。