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))"
相关推荐
Hello-Mr.Wang几秒前
vue3中开发引导页的方法
开发语言·前端·javascript
救救孩子把4 分钟前
Java基础之IO流
java·开发语言
WG_175 分钟前
C++多态
开发语言·c++·面试
宇卿.12 分钟前
Java键盘输入语句
java·开发语言
Amo Xiang21 分钟前
2024 Python3.10 系统入门+进阶(十五):文件及目录操作
开发语言·python
liangbm331 分钟前
数学建模笔记——动态规划
笔记·python·算法·数学建模·动态规划·背包问题·优化问题
friklogff34 分钟前
【C#生态园】提升C#开发效率:深入了解自然语言处理库与工具
开发语言·c#·区块链
潮汐退涨月冷风霜36 分钟前
机器学习之非监督学习(四)K-means 聚类算法
学习·算法·机器学习
GoppViper42 分钟前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
羊小猪~~1 小时前
深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
人工智能·python·深度学习·学习·算法·机器学习·cnn