R语言学习笔记11-读取csv-xlsx-txt-json-pdf-lua格式文件
- 读取csv
- 使用base的 read.csv 函数
- 使用 readr 包的 read_csv 函数
- 读取xlsx
- 使用 xlsx 包的 read.xlsx 函数
- 使用 readxl 包的 read_excel 函数
- 读取txt
- 使用base的文件读取函数 readLines
- 使用 readr 包的 read_lines 函数
- 读取json
- 使用 jsonlite 包读取 JSON 文件
- 读取pdf
- 使用 pdftools 包读取pdf文件
- 读取lua
- 使用基本的文件读取函数 readLines
读取csv
使用base的 read.csv 函数
read.csv 是R语言中用于读取CSV文件的基本函数,它会将CSV文件读取为一个数据框对象
假设有一个名为 data.csv 的CSV文件,内容如下:
id,name,age
1,John,25
2,Jane,30
3,Bob,28
读取:
# 读取 CSV 文件
data <- read.csv("data.csv")
# 显示读取的数据
print(data)
输出:
id name age
1 1 John 25
2 2 Jane 30
3 3 Bob 28
使用 readr 包的 read_csv 函数
readr 包提供了更为快速和灵活的CSV读取函数 read_csv 特别适合大型数据集的处理
# 如果未安装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 |
读取:
# 如果未安装xlsx包,需要先安装
# install.packages("xlsx")
# 加载xlsx包
library(xlsx)
# 读取 Excel 文件
data <- read.xlsx("data.xlsx", sheetIndex = 1)
# 显示读取的数据
print(data)
输出:
id name
1 1 zhangsan
2 2 lisi
3 3 wangwu
使用 readxl 包的 read_excel 函数
readxl 包提供了更为现代和高效的方法来读取Excel文件,支持更多的Excel特性 适合处理各种Excel文件格式和大型数据集
# 如果未安装readxl包,需要先安装
# install.packages("readxl")
# 加载readxl包
library(readxl)
# 读取 Excel 文件
data <- read_excel("data.xlsx")
# 显示读取的数据
print(data)
读取txt
使用base的文件读取函数 readLines
readLines 函数是R语言中用于逐行读取文本文件内容的基本函数
假设有一个名为 data.txt 的文本文件,内容如下:
1 John 25
2 Jane 30
3 Bob 28
读取:
# 读取文本文件
lines <- readLines("data.txt")
# 显示读取的内容
print(lines)
输出:
[1] "1 John 25" "2 Jane 30" "3 Bob 28"
使用 readr 包的 read_lines 函数
如果需要更为高效地读取文本文件,特别是处理大型文本文件时,可使用 readr 包中的 read_lines 函数
# 如果未安装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文件,内容如下:
[
{"id": 1, "name": "John", "age": 25},
{"id": 2, "name": "Jane", "age": 30},
{"id": 3, "name": "Bob", "age": 28}
]
读取:
# 如果未安装jsonlite包,需要先安装
# install.packages("jsonlite")
# 加载jsonlite包
library(jsonlite)
# 读取 JSON 文件
data <- fromJSON("data.json")
# 显示读取的数据
print(data)
输出:
id name age
1 1 John 25
2 2 Jane 30
3 3 Bob 28
读取pdf
使用 pdftools 包读取pdf文件
pdftools 包支持读取pdf文件的内容并进行进一步处理,例如提取文本或分析页面结构
假设有一个名为 document.pdf 的PDF文件,内容为一些文本页面:
# 如果未安装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脚本文件,内容如下:
function factorial(n)
if n <= 1 then
return 1
else
return n * factorial(n - 1)
end
end
print(factorial(5))
读取:
# 读取Lua脚本文件
lines <- readLines("script.lua")
# 显示读取的内容
print(lines)
输出:
[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))"