#下载
install.packages(c("readr","readxl","dplyr"))
#下载一次,以后都可以直接加载使用
library(readr)
library(readxl)
library(dplyr)
txt文件一般是用 \t
来隔开数据的.
# 一般情况:
read_tsv("test-data/test.txt", col_names = F) #第一行是否为变量名
#更复杂一点的:
read_tsv("test-data/test-encoding.txt",col_names = F,
locale = locale(encoding = "GB2312"), #编码问题
col_types = cols(X6="c",X10="c")) #数据类型
两行命令解决90%以上txt数据的读入问题!
关于编码问题: notepad++ .
关于数据类型,常用的有:
csv文件一般是用 ,
来隔开数据的.
# 一般情况(utf-8):
read_csv("test-data/test.csv", col_names = F,
col_types = cols(X6="c",X10="c")) #特殊数据类型
#涉及到编码问题的:
read_csv("test-data/test-encoding.csv",col_names = F,
locale = locale(encoding = "GB2312"), #编码问题
col_types = cols(X6="c",X10="c")) #数据类型
#奇葩分隔符 "|"..
read_delim(file = "文件名", delim="奇葩分隔符", ...)
# 逐行读入
read_lines("文件名",skip=0,locale = locale(encoding = "编码"))
# 读取粘贴板
readClipboard()
这么常见的数据类型就不用多说了,直接上代码:
read_excel("xlsx/教院附小.xlsx",sheet = 1, col_names = F)
公司的数据库主要有SqlServer和MySQL
install.packages(c("RODBC","RMySQL"))
library(RODBC)
#ODBC连接MySQL,需要下载ODBC驱动
con <- odbcConnect("pcdp")
odbcGetInfo(con) #查看连接信息
cog_memory <- sqlQuery(con,"select * from tongyongbiao limit 6",
stringsAsFactors=F)
cog_memory
odbcClose(con) #关掉接口
#写入
# sqlsave/sqlupdate
#通过RMySQL包直接连接MySQL
library(RMySQL)
conn <- dbConnect(RMySQL::MySQL(),dbname="pcdp",username="****",
password="****",
host="psydb88pcdp.mysql.rds.aliyuncs.com",
port=3306)
show(conn) #查看连接信息
dbGetInfo(conn)
dbSendQuery(conn,"set character set gbk") #设置中文编码
res <- dbGetQuery(conn,"select * from tongyongbiao limit 6")
res
dbDisconnect(conn) #用完关掉接口
#写入
#sqlData
原文:
semi_join(x,y):keeps all observations in x that have a match in y.
semi_join(x,y):drops all observations in x that have a match in y.
更多资料: https://cran.r-project.org/web/pacakges/dplyr/vignettes/two-table.html
write.csv()
write_csv()
write.table()
write_tsv()
install.packages("openxlsx")
library(openxlsx)
#单个sheet
write.xlsx(data1,file = "xxx.xlsx")
#多页导出
wb <- createWorkbook()
addWorksheet(wb,"sheet1")
addWorksheet(wb,"sheet2")
writeData(wb,sheet = 1,data1)
writeData(wb,sheet = 2,data2)
saveWorkbook(wb,"xxx.xlsx")