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")。
    • 数据库操作后记得关闭连接。

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

相关推荐
Scott9999HH5 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
码智社6 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海6 小时前
python 列表、元组、集合和字典
开发语言·python
萧瑟余晖7 小时前
JDK 26 新特性详解
java·开发语言
马优晨8 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
人邮异步社区10 小时前
怎么把C语言学到精通?
c语言·开发语言
心平气和量大福大10 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai10 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
এ慕ོ冬℘゜11 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript
执明wa11 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio