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))"
相关推荐
我曾经是个程序员15 分钟前
鸿蒙学习记录
开发语言·前端·javascript
爱上语文16 分钟前
宠物管理系统:Dao层
java·开发语言·宠物
kkflash320 分钟前
提升专业素养的实用指南
学习·职场和发展
Hejjon33 分钟前
SpringBoot 整合 SQLite 数据库
笔记
1 9 J1 小时前
数据结构 C/C++(实验五:图)
c语言·数据结构·c++·学习·算法
小老鼠不吃猫1 小时前
力学笃行(二)Qt 示例程序运行
开发语言·qt
长潇若雪1 小时前
《类和对象:基础原理全解析(上篇)》
开发语言·c++·经验分享·类和对象
数据小小爬虫2 小时前
如何利用Python爬虫获取商品历史价格信息
开发语言·爬虫·python
Gao_xu_sheng2 小时前
Java程序打包成exe,无Java环境也能运行
java·开发语言
6.942 小时前
Scala——身份证号码查询籍贯
学习·scala