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))"
相关推荐
记录成长java22 分钟前
ServletContext,Cookie,HttpSession的使用
java·开发语言·servlet
前端青山22 分钟前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
睡觉谁叫~~~26 分钟前
一文解秘Rust如何与Java互操作
java·开发语言·后端·rust
音徽编程27 分钟前
Rust异步运行时框架tokio保姆级教程
开发语言·网络·rust
观音山保我别报错27 分钟前
C语言扫雷小游戏
c语言·开发语言·算法
dsywws1 小时前
Linux学习笔记之vim入门
linux·笔记·学习
小屁孩大帅-杨一凡1 小时前
java后端请求想接收多个对象入参的数据
java·开发语言
m0_656974741 小时前
C#中的集合类及其使用
开发语言·c#
java1234_小锋1 小时前
使用 RabbitMQ 有什么好处?
java·开发语言
晨曦_子画2 小时前
3种最难学习和最容易学习的 3 种编程语言
学习