当前位置: 首页 > news >正文

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

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文件,内容如下:

idname
1zhangsan
2lisi
3wangwu

读取:

# 如果未安装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 thenreturn 1elsereturn n * factorial(n - 1)end
endprint(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))"

相关文章:

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

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 函数 …...

Vue的计算属性和方法有什么区别

Vue中的计算属性&#xff08;computed&#xff09;和方法&#xff08;methods&#xff09;都是用于处理数据和逻辑的重要特性&#xff0c;但它们之间存在一些关键的区别。以下是两者的主要区别&#xff1a; 1. 缓存性 计算属性&#xff1a;计算属性是基于它们的依赖进行缓存的…...

学生成绩管理系统(C语言)

系统分析 1. 主菜单的实现 2. 增加人员功能的实现 3. 删除数据功能的实现 4. 编辑人员功能的实现 5. 排序功能的实现 6. 输出功能 7. 查找信息功能 具体代码 #include <stdio.h> #include <string.h> #include <stdlib.h> #define SIZE 100000typedef struc…...

C语言 通讯录管理 完整代码

这份代码&#xff0c;是我从网上找的。目前是能运行。我正在读。有些不懂的地方&#xff0c;等下再记录下来。 有些地方的命名&#xff0c;还需要重新写一下。 比如: PersonInfo* info &address_book->all_address[address_book->size]; 应该改为&#xff1a; Perso…...

2024北京国际智能工厂及自动化展览会亮点前瞻

随着“工业创新&#xff0c;智造未来”的浪潮席卷而来&#xff0c;2024年度北京国际智能工厂及自动化与工业装配展览会定于8月1日至3日在中国国际展览中心&#xff08;顺义新馆&#xff09;盛大开幕。本次展会汇聚了智能制造与自动化技术的最新成果&#xff0c;通过三展联动的创…...

《网络安全等级保护制度详解》

网络安全等级保护制度是我国网络安全领域的一项重要制度&#xff0c;旨在保障网络安全&#xff0c;维护国家安全、社会秩序和公共利益。 网络安全等级保护制度主要包含以下几个关键方面&#xff1a; 等级划分 根据信息系统在国家安全、经济建设、社会生活中的重要程度&#xff…...

使用Wanderboat AI 来规划到巴黎的旅行计划

​ Wanderboat AI 平台是一个由 GPT-4 驱动的智能旅行规划工具&#xff0c;旨在通过自然对话和多模式互动&#xff0c;为用户提供个性化的旅行行程。以下是该平台的架构和使用方法&#xff1a; 平台架构 GPT-4 驱动&#xff1a;平台利用 GPT-4 的强大自然语言处理能力&#x…...

基于YOLO8的目标检测系统:开启智能视觉识别之旅

文章目录 在线体验快速开始一、项目介绍篇1.1 YOLO81.2 ultralytics1.3 模块介绍1.3.1 scan_task1.3.2 scan_taskflow.py1.3.3 target_dec_app.py 二、核心代码介绍篇2.1 target_dec_app.py2.2 scan_taskflow.py 三、结语 在线体验 基于YOLO8的目标检测系统 基于opencv的摄像头…...

实验07 接口测试postman

目录 知识点 1 接口测试概念 1.1为什么要做接口测试 1.2接口测试的优点 1.3接口测试概念 1.4接口测试原理和目的 2 接口测试内容 2.1测什么 2.1.1单一接口 2.1.2组合接口 2.1.3结构检查 2.1.4调用方式 2.1.5参数格式校验 2.1.6返回结果 2.2四大块 2.2.1功能逻辑…...

C++常用但难记的语法

模板函数的声明和定义必须在同一个文件中。 C中每一个对象所占用的空间大小&#xff0c;是在编译的时候就确定的&#xff0c;在模板类没有真正的被使用之前&#xff0c;编译器是无法知道&#xff0c;模板类中使用模板类型的对象的所占用的空间的大小的。只有模板被真正使用的时…...

Qt 快速保存配置的方法

Qt 快速保存配置的方法 一、概述二、代码1. QFileHelper.cpp2. QSettingHelper.cpp 三、使用 一、概述 这里分享一下&#xff0c;Qt界面开发时&#xff0c;快速保存界面上一些参数配置的方法。 因为我在做实验的时候&#xff0c;界面上可能涉及到很多参数的配置&#xff0c;我…...

RKE部署k8s

移除docker&#xff08;非必要&#xff09; rm -rf /etc/docker rm -rf /run/docker rm -rf /var/lib/dockershim rm -rf /var/lib/docker yum list installed | grep docker yum remove ***rke部署k8s集群 cat > /etc/sysctl.conf << EFO net.ipv4.ip_forward 1 n…...

从0开始的STM32HAL库学习8

PWM控制舵机 配置环境 1. 选择TIM2时钟 2.选择内部时钟模式&#xff0c;打开通道二 3.分频系数PSC:72-1 自动重装寄存器ARR:20000-1 输出比较寄存器 CCR:500~2500( 后面可调整 ) 脉冲选择500后期可以改 编辑代码 调用启动函数 HAL_TIM_PWM_Start(&htim2,TIM_CHANN…...

微信小程序数组绑定使用案例(一)

微信小程序数组绑定案例&#xff0c;修改数组中的值 1.Wxml 代码 <view class"list"><view class"item {{item.ischeck?active:}}" wx:for"{{list}}"><view class"title">{{item.name}} <text>({{item.id}…...

Kudu节点数规划

作者&#xff1a;南墨 一、概述 由于Kudu是Hadoop生态的一部分&#xff08;虽然它不依赖于Hadoop生态系统&#xff09;&#xff0c;因此大多数实际应用场景需要的不仅仅是Kudu&#xff1b;为了输入数据&#xff0c;可能需要Kafka、StreamSets或Spark Streaming&#xff1b;对…...

flutter 充电气泡

前言&#xff1a; 之前一直看到 有手机充电的时候 有气泡从Type-C 的位置冒泡上来 慢慢上移&#xff0c; 然后和上面的圆圈 会和&#xff0c;感觉还是挺好看的。今天试了下用 Flutter 实现了一版本。大致效果如下&#xff0c;而且气泡 和 气泡直接还可以粘黏 实现原理&#xff…...

【C++】deque以及优先级队列

容器适配器 deque的介绍deque的原理介绍 priority_queue的介绍与使用priority_queue的介绍priority_queue的使用constructor&#xff08;构造函数&#xff09;emptypushpoptopsize priority_queue的模拟实现 仿函数何为适配器容器适配器deque的缺陷选择deque作为适配器的理由ST…...

手机如何播放电脑的声音?

准备工具&#xff1a; 有线耳机&#xff0c;手机&#xff0c;电脑&#xff0c;远控软件 1.有线耳机插电脑上 2.电脑安装pc版远控软件&#xff0c;手机安装手机端控制版远控软件 3.手机控制电脑开启声音控制 用手机控制电脑后&#xff0c;打开声音控制&#xff0c;电脑播放视频…...

系统架构设计师教程 第3章 信息系统基础知识-3.6 办公自动化系统(OAS)-解读

系统架构设计师教程 第3章 信息系统基础知识-3.6 办公自动化系统&#xff08;OAS&#xff09; 3.6.1 办公自动化系统的概念3.6.1.1 办公活动3.6.1.1 办公自动化的概念 3.6.2 办公自动化系统的功能3.6.2.1 事务处理3.6.2.1.1 单机系统3.6.2.1.2 多机系统 3.6.2.2 信息管理3.6.2.…...

解决Element UI 表格组件懒加载数据刷新问题

一、问题描述 element ui的table组件设置成懒加载时&#xff0c;遇到数据表格需要更新、删除等操作&#xff0c;子节点不会自动更新。 二、解决思路 刷新数据&#xff0c;就是重新调用load&#xff08;&#xff09;&#xff0c;通过map记录已展开的节点&#xff0c;需要刷新…...

Arm CoreLink GFC-200 Flash控制器架构与优化实践

1. Arm CoreLink GFC-200 Flash控制器架构解析在嵌入式系统设计中&#xff0c;非易失性存储管理是核心挑战之一。作为Arm CoreLink系列的重要成员&#xff0c;GFC-200通用Flash控制器通过创新的总线架构和分区管理机制&#xff0c;为SoC设计提供了高效的Flash存储解决方案。这款…...

为AI编码助手集成aislop-skill:实时代码质量检测与修复

1. 项目概述&#xff1a;为AI编码助手装上“质检员”如果你和我一样&#xff0c;日常重度依赖Cursor、Windsurf这类AI驱动的IDE&#xff0c;或者频繁使用Claude Code、Gemini CLI等代码生成工具&#xff0c;那你一定遇到过这样的场景&#xff1a;AI助手生成的代码&#xff0c;功…...

技术债务的职场政治:谁该为历史遗留问题买单

在软件测试从业者的日常工作中&#xff0c;技术债务是一个绕不开的话题。它像一颗隐藏在代码深处的定时炸弹&#xff0c;随时可能在项目推进的某个节点爆发&#xff0c;引发一系列连锁反应。而当技术债务问题浮出水面时&#xff0c;一场关于“谁该为历史遗留问题买单”的职场政…...

云原生本地开发新范式:LDLT方法论与实践指南

1. 项目概述&#xff1a;从“LDLT”看云原生时代的本地开发范式革新如果你是一名云原生应用的开发者&#xff0c;大概率经历过这样的场景&#xff1a;为了调试一个微服务&#xff0c;你需要在本地启动一整套依赖——数据库、消息队列、缓存、甚至其他几个关联服务。你的开发机内…...

Python并发模型全景解析

Python并发模型全景解析:线程、协程、多进程与GIL深度实战 🐍 Python 的并发编程一直是个让人困惑的话题:GIL 是什么?什么时候用线程?什么时候用协程?什么时候用多进程?本文从底层原理到生产实战,彻底讲清楚 Python 的四种并发模型,附带性能对比测试和真实踩坑经验。…...

告别混乱:手把手教你用Python脚本整理ILSVRC2012验证集(附valprep.sh解析)

告别混乱&#xff1a;用Python脚本高效整理ILSVRC2012验证集 当你第一次打开ILSVRC2012验证集文件夹时&#xff0c;50000张图片杂乱堆放的场景可能让人头皮发麻——没有分类子目录&#xff0c;只有一堆以"ILSVRC2012_val_00000001.JPEG"命名的文件。这种原始结构与训…...

从ADI收购LTC看电源管理趋势:软件定义电源与能量收集技术解析

1. 从一笔天价收购案&#xff0c;看电源管理技术的未来十年2016年&#xff0c;模拟芯片行业发生了一场地震级的并购&#xff1a;模拟巨头亚德诺半导体&#xff08;Analog Devices Inc., ADI&#xff09;以148亿美元的天价&#xff0c;收购了以高性能模拟芯片闻名的凌力尔特&…...

HBase集群启动后秒退?手把手教你排查ZooKeeper路径配置与htrace-core缺失问题

HBase集群启动后秒退&#xff1f;深度排查ZooKeeper路径与依赖缺失问题 当你在深夜部署HBase集群时&#xff0c;看到服务启动后几秒钟内突然消失&#xff0c;那种感觉就像在黑暗中摸索开关。这不是简单的配置错误&#xff0c;而是系统在向你发出求救信号。让我们像侦探一样&…...

【DL】信息注入

在多模态生成(如文生图、3D生成)和视觉语言模型(VLM/VLA)的架构设计中,如何将外部条件(如文本、音频、时间步、控制信号)优雅且高效地“注入”到主干网络(Backbone)中,是决定模型性能的核心。 以下是深度整合了底层张量维度差异的 5 大类主流信息注入方法全景指南:…...

Efficient-KAN:突破传统神经网络瓶颈的Kolmogorov-Arnold网络实战指南

Efficient-KAN&#xff1a;突破传统神经网络瓶颈的Kolmogorov-Arnold网络实战指南 【免费下载链接】efficient-kan An efficient pure-PyTorch implementation of Kolmogorov-Arnold Network (KAN). 项目地址: https://gitcode.com/GitHub_Trending/ef/efficient-kan 深…...