R语言学习笔记11-读取csv-xlsx-txt-json-pdf-lua格式文件

R语言学习笔记11-读取csv-xlsx-txt-json-pdf-lua格式文件

  • 读取csv
    • [使用base的 read.csv 函数](#使用base的 read.csv 函数)
    • [使用 readr 包的 read_csv 函数](#使用 readr 包的 read_csv 函数)
  • 读取xlsx
    • [使用 xlsx 包的 read.xlsx 函数](#使用 xlsx 包的 read.xlsx 函数)
    • [使用 readxl 包的 read_excel 函数](#使用 readxl 包的 read_excel 函数)
  • 读取txt
    • [使用base的文件读取函数 readLines](#使用base的文件读取函数 readLines)
    • [使用 readr 包的 read_lines 函数](#使用 readr 包的 read_lines 函数)
  • 读取json
    • [使用 jsonlite 包读取 JSON 文件](#使用 jsonlite 包读取 JSON 文件)
  • 读取pdf
    • [使用 pdftools 包读取pdf文件](#使用 pdftools 包读取pdf文件)
  • 读取lua
    • [使用基本的文件读取函数 readLines](#使用基本的文件读取函数 readLines)

读取csv

使用base的 read.csv 函数

read.csv 是R语言中用于读取CSV文件的基本函数,它会将CSV文件读取为一个数据框对象

假设有一个名为 data.csv 的CSV文件,内容如下:

text 复制代码
id,name,age
1,John,25
2,Jane,30
3,Bob,28

读取:

r 复制代码
# 读取 CSV 文件
data <- read.csv("data.csv")

# 显示读取的数据
print(data)

输出:

r 复制代码
  id name age
1  1 John  25
2  2 Jane  30
3  3  Bob  28

使用 readr 包的 read_csv 函数

readr 包提供了更为快速和灵活的CSV读取函数 read_csv 特别适合大型数据集的处理

r 复制代码
# 如果未安装readr包,需要先安装
# install.packages("readr")

# 加载 readr 包
library(readr)

# 使用 read_csv 函数读取 CSV 文件
data <- read_csv("data.csv")

# 显示读取的数据
print(data)

读取xlsx

使用 xlsx 包的 read.xlsx 函数

xlsx 包提供了一种读取Excel文件的方法,适用于较旧版本的Excel文件(.xlsx格式)

假设有一个名为 data.xlsx 的Excel文件,内容如下:

id name
1 zhangsan
2 lisi
3 wangwu

读取:

r 复制代码
# 如果未安装xlsx包,需要先安装
# install.packages("xlsx")

# 加载xlsx包
library(xlsx)

# 读取 Excel 文件
data <- read.xlsx("data.xlsx", sheetIndex = 1)

# 显示读取的数据
print(data)

输出:

r 复制代码
  id name
1  1 zhangsan
2  2 lisi
3  3  wangwu

使用 readxl 包的 read_excel 函数

readxl 包提供了更为现代和高效的方法来读取Excel文件,支持更多的Excel特性 适合处理各种Excel文件格式和大型数据集

r 复制代码
# 如果未安装readxl包,需要先安装
# install.packages("readxl")

# 加载readxl包
library(readxl)

# 读取 Excel 文件
data <- read_excel("data.xlsx")

# 显示读取的数据
print(data)

读取txt

使用base的文件读取函数 readLines

readLines 函数是R语言中用于逐行读取文本文件内容的基本函数

假设有一个名为 data.txt 的文本文件,内容如下:

text 复制代码
1 John 25
2 Jane 30
3 Bob 28

读取:

r 复制代码
# 读取文本文件
lines <- readLines("data.txt")

# 显示读取的内容
print(lines)

输出:

r 复制代码
[1] "1 John 25" "2 Jane 30" "3 Bob 28"

使用 readr 包的 read_lines 函数

如果需要更为高效地读取文本文件,特别是处理大型文本文件时,可使用 readr 包中的 read_lines 函数

r 复制代码
# 如果未安装readr包,需要先安装
# install.packages("readr")

# 加载readr包
library(readr)

# 读取文本文件
data <- read_lines("data.txt")

# 显示读取的内容
print(data)

读取json

使用 jsonlite 包读取 JSON 文件

jsonlite 包提供了在R中读取和处理JSON数据的功能。可使用其中的函数 fromJSON

来将JSON文件读取为R中的数据结构,如列表或数据框

假设有一个名为 data.json 的JSON文件,内容如下:

json 复制代码
[
  {"id": 1, "name": "John", "age": 25},
  {"id": 2, "name": "Jane", "age": 30},
  {"id": 3, "name": "Bob", "age": 28}
]

读取:

r 复制代码
# 如果未安装jsonlite包,需要先安装
# install.packages("jsonlite")

# 加载jsonlite包
library(jsonlite)

# 读取 JSON 文件
data <- fromJSON("data.json")

# 显示读取的数据
print(data)

输出:

r 复制代码
  id name age
1  1 John  25
2  2 Jane  30
3  3  Bob  28

读取pdf

使用 pdftools 包读取pdf文件

pdftools 包支持读取pdf文件的内容并进行进一步处理,例如提取文本或分析页面结构

假设有一个名为 document.pdf 的PDF文件,内容为一些文本页面:

r 复制代码
# 如果未安装pdftools包,需要先安装
# install.packages("pdftools")

# 加载pdftools包
library(pdftools)

# 读取PDF文件
pdf_content <- pdf_text("document.pdf")

# 显示读取的内容(假设显示第一页)
cat(pdf_content[[1]])

读取lua

使用基本的文件读取函数 readLines

可使用R语言的 readLines 函数来逐行读取Lua脚本文件的内容

假设有一个名为 script.lua 的Lua脚本文件,内容如下:

lua 复制代码
function factorial(n)
    if n <= 1 then
        return 1
    else
        return n * factorial(n - 1)
    end
end

print(factorial(5))

读取:

r 复制代码
# 读取Lua脚本文件
lines <- readLines("script.lua")

# 显示读取的内容
print(lines)

输出:

r 复制代码
[1] "function factorial(n)"                           
[2] "    if n <= 1 then"                              
[3] "        return 1"                                
[4] "    else"                                        
[5] "        return n * factorial(n - 1)"              
[6] "    end"                                         
[7] "end"                                             
[8] ""                                                
[9] "print(factorial(5))"
相关推荐
小龙报12 分钟前
《算法通关指南---C++编程篇(2)》
c语言·开发语言·数据结构·c++·程序人生·算法·学习方法
金宗汉21 分钟前
《宇宙递归拓扑学:基于自指性与拓扑流形的无限逼近模型》
大数据·人工智能·笔记·算法·观察者模式
古一|28 分钟前
Vue3中ref与reactive实战指南:使用场景与代码示例
开发语言·javascript·ecmascript
宠友信息40 分钟前
java微服务驱动的社区平台:友猫社区的功能模块与实现逻辑
java·开发语言·微服务
张永清-老清40 分钟前
每周读书与学习->JMeter主要元件详细介绍(一)配置元件
学习·jmeter·性能调优·jmeter性能测试·性能分析·干货分享
驰羽1 小时前
[GO]golang接口入门:从一个简单示例看懂接口的多态与实现
开发语言·后端·golang
狮智先生1 小时前
【学习笔记】利用meshlab进行曲面的质量检查
经验分享·笔记·课程设计·几何学
ii_best1 小时前
IOS/ 安卓开发工具按键精灵Sys.GetAppList 函数使用指南:轻松获取设备已安装 APP 列表
android·开发语言·ios·编辑器
王夏奇1 小时前
C++友元函数和友元类!
开发语言·c++
鼾声鼾语1 小时前
grootN1 grootN1.5 gr00t安装方法以及使用(学习)
学习·angular.js·simulink·isaacsim·isaaclab