R 语言植沟文件读取及保存方式

1. 读取CSV文件

R 复制代码
data <- read.csv("input.csv", header=T)  # header=T 表示第一行是表头
  • 检查数据框

    R 复制代码
    print(is.data.frame(data))  # 检查是否为数据框
    print(ncol(data))  # 输出列数
    print(nrow(data))  # 输出行数
  • 筛选数据

    R 复制代码
    ret <- subset(data, salary > 3000 & dept == "IT")  # 筛选条件
    print(ret)

2. 读取Excel文件

R 复制代码
install.packages("xlsx")  # 安装xlsx包
library(xlsx)
data <- read.xlsx("input.xlsx", sheetIndex = 1)  # 读取第一个工作表
  • 乱码问题 :如果出现乱码,可以尝试指定编码:

    R 复制代码
    data <- read.xlsx("input.xlsx", sheetIndex = 1, encoding = "UTF-8")

3. 读取JSON文件

R 复制代码
install.packages("rjson")  # 安装rjson包
library(rjson)
data <- fromJSON(file = "input.json")  # 读取JSON文件
json_data_frame <- as.data.frame(data)  # 转换为数据框

4. 读取XML文件

R 复制代码
install.packages("XML")  # 安装XML包
library(XML)
data <- xmlParse(file = "input.xml")  # 解析XML文件

5. 从Web获取数据

R 复制代码
install.packages("RCurl")  # 安装RCurl包
install.packages("XML")    # 安装XML包
install.packages("stringr")# 安装stringr包
install.packages("plyr")   # 安装plyr包

library(RCurl)
library(XML)
library(stringr)
library(plyr)

url <- "http://www.geos.ed.ac.uk/~weather/jcmb_ws/"
links <- getHTMLLinks(url)  # 获取页面中的所有链接
filenames <- links[str_detect(links, "JCMB_2015")]  # 筛选符合条件的文件名
filenames_list <- as.list(filenames)

# 定义下载函数
downloadcsv <- function(mainurl, filename) {
  filedetails <- str_c(mainurl, filename)
  download.file(filedetails, filename)
}

# 批量下载文件
l_ply(filenames, downloadcsv, mainurl = "http://www.geos.ed.ac.uk/~weather/jcmb_ws/")

6. 读取TXT文件

R 复制代码
data <- read.table('input.txt', header = F, sep = ' ')  # 读取TXT文件
  • 参数说明
    • header = F:表示文件没有表头。
    • sep = ' ':指定分隔符为空格。

7. 连接MySQL数据库

R 复制代码
install.packages("RMySQL")  # 安装RMySQL包
library(RMySQL)

# 连接数据库
mysqlconnection <- dbConnect(MySQL(), 
                             user = 'root', 
                             password = 'abcd123456', 
                             dbname = 'testdb', 
                             host = 'localhost')

# 查询数据
result <- dbSendQuery(mysqlconnection, "SELECT * FROM table_name")
data <- fetch(result, n = -1)  # 获取所有数据
dbClearResult(result)  # 清除结果
dbDisconnect(mysqlconnection)  # 断开连接

总结

  1. 文件读取

    • CSV:read.csv()
    • Excel:read.xlsx()
    • JSON:fromJSON()
    • XML:xmlParse()
    • TXT:read.table()
  2. Web数据获取

    • 使用RCurlXML包从网页中提取数据并下载文件。
  3. 数据库操作

    • 使用RMySQL包连接MySQL数据库并查询数据。
  4. 数据处理

    • 使用subset()筛选数据。
    • 使用as.data.frame()将JSON数据转换为数据框。
  5. 注意事项

    • 安装必要的包(如xlsxrjsonXMLRMySQL等)。
    • 处理乱码时指定编码(如encoding = "UTF-8")。
    • 数据库操作后记得关闭连接。

希望这份总结对你有帮助!如果有其他问题,欢迎随时提问。

相关推荐
kkai人工智能14 分钟前
解决开发者技能差距:AI 在提升效率与技能培养中的作用
开发语言·人工智能·ai·chatgpt·媒体
赴前尘24 分钟前
Go 中 `json.NewEncoder/Decoder` 与 `json.Marshal/Unmarshal` 的区别与实践
开发语言·golang·json
gou1234123428 分钟前
【Golang入门】第一章:环境搭建与Hello World
开发语言·后端·golang
铭....1 小时前
word批量导出visio图
开发语言·c#·word
寻星探路1 小时前
JAVA与C语言之间的差异(一)
java·开发语言
1001101_QIA1 小时前
【QT】理解QT机制之“元对象系统”
开发语言·c++·qt·算法
爱上语文2 小时前
MyBatisPlus(1):快速入门
java·开发语言·数据库·后端·mybatis
2501_915373882 小时前
Java调用C++教程:JNI与JNA两种方式详解
java·开发语言·c++
一轮大月亮3 小时前
JavaScript es6 语法 map().filter() 链式调用,语法解析 和常见demo
开发语言·javascript·es6
_extraordinary_3 小时前
Java String的使用续 -- StringBuilder类和StringBuffer
java·开发语言