R语言:抓取股票数据并存入数据库进行分析实例 MySQL
R语言连接mySql
准备:
- R: https://cloud.r-project.org/b...
R studio: https://download1.rstudio.org... RODBC
R studio console下> Install.packages(RODBC)
安装MySql
https://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-8.0.12.0.msi
- 配置ODBC
a) 控制面板系统和安全管理工具数据源(odbc)
b) 点击系统DSN - 添加
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)
相关推荐
lbyd0 2020-11-17
sushuanglei 2020-11-12
腾讯soso团队 2020-11-06
gaobudong 2020-11-04
yangkang 2020-11-09
85477104 2020-11-17
KANSYOUKYOU 2020-11-16
wushengyong 2020-10-28
lizhengjava 2020-11-13
星月情缘 2020-11-13
huangxiaoyun00 2020-11-13
luyong0 2020-11-08
Apsaravod 2020-11-05
PeterChangyb 2020-11-05
wwwjun 2020-11-02
gyunwh 2020-11-02
EchoYY 2020-10-31
dingyahui 2020-10-30