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

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

相关推荐
java—大象4 分钟前
基于JavaWeb开发的Java+Jsp+SpringMVC漫威手办商城系统设计和实现
java·开发语言·数据库·spring boot·python·课程设计
不是二师兄的八戒17 分钟前
PHP `foreach` 引用变量导致的问题及其解决方案
开发语言·php
java1234_小锋1 小时前
Redis有哪些常用应用场景?
java·开发语言
神仙别闹1 小时前
基于 Java 的 C 语言编译器
java·c语言·开发语言
_周游2 小时前
【数据结构】_栈的结构与实现
开发语言·数据结构·c++
萧月霖2 小时前
Simula语言的物联网
开发语言·后端·golang
慕璃嫣2 小时前
C语言的物联网
开发语言·后端·golang
西农小陈2 小时前
Python-基于PyQt5,wordcloud,pillow,numpy,os,sys等的智能词云生成器
开发语言·python·小程序·pycharm·numpy·pyqt·pillow
q567315233 小时前
如何在 Canopy 中导入 scikit-learn
开发语言·python