R shiny app | 网页应用 空格分隔的文本文件在线转csv

shiny 能快速把R程序以web app的形式提供出来,方便使用,降低技术使用门槛。

本文提供的示例:把空格分隔的txt文件转为逗号分隔的csv文件。

前置依赖:需要有R环境(v4.2.0),安装shiny包(v1.9.1)。括号内是我使用的版本。

install.packages(“shiny”)

1.运行与效果

  • 文件名:script/app3/app.R
  • 运行: > shiny::runApp(“script/app3/”)
  • 关闭:关闭浏览器。
  1. 左上角:上传文件,
  2. 右侧:预览效果
  3. 右下角:下载csv文件
    在这里插入图片描述

2.文件内容

script/app3/app.R 如下:

library(shiny)
library(bslib)# Define UI for slider demo app ----
ui <- page_sidebar(# App title ----title = "Blank space txt to csv | v0.0.1",# Sidebar panel for inputs ----sidebar = sidebar(# Input: Select a file ----fileInput("file1","Choose TXT File",multiple = TRUE,accept = c("text/csv","text/comma-separated-values,text/plain","text/blank-separated-values,text/plain",".csv")),tags$hr(),sliderInput("num","show number:",min = 2,max = 1000,value = 10),# Horizontal line ----tags$hr(),# Input: Checkbox if file has header ----checkboxInput("header", "Header", TRUE),# Input: Select separator ----radioButtons("sep","Separator",choices = c(Comma = ",",Semicolon = ";",Blank = " ",Tab = "\t"),selected = " "),# Input: Select quotes ----radioButtons("quote","Quote",choices = c(None = "","Double Quote" = '"',"Single Quote" = "'"),selected = ''),# Horizontal line ----tags$hr(),# Input: Select number of rows to display ----radioButtons("disp","Display",choices = c(Head = "head",All = "all"),selected = "head"),# ButtondownloadButton("downloadData", "Download csv")),# Output: Data file ----tableOutput("contents")
)# Define server logic to read selected file ----
server <- function(input, output) {output$contents <- renderTable({# input$file1 will be NULL initially. After the user selects# and uploads a file, head of that data file by default,# or all rows if selected, will be shown.req(input$file1)df <- read.csv(input$file1$datapath,header = input$header,sep = input$sep,quote = input$quote)if (input$disp == "head") {return(head(df, n=input$num))} else {return(df, n=input$num)}})# Downloadable csv of selected dataset ----output$downloadData <- downloadHandler(filename = function() {req(input$file1)paste(input$file1$datapath, ".csv", sep = "")},content = function(file) {req(input$file1)df <- read.csv(input$file1$datapath,header = input$header,sep = input$sep,quote = input$quote)write.csv(df, file, row.names = FALSE, quote=F)})
}if(0){# show blank separated txt file with headerrunApp("script/app3/")
}# Create Shiny app ----
shinyApp(ui, server)

Ref

  • https://shiny.posit.co/r/getstarted/shiny-basics/lesson1/

End

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/66245.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SocraticLM: Exploring Socratic Personalized Teaching with Large Language Models

题目 苏格拉底式教学:用大型语言模型探索苏格拉底式个性化教学 论文地址&#xff1a;https://openreview.net/pdf?idqkoZgJhxsA 项目地址&#xff1a;https://github.com/Ljyustc/SocraticLM 摘要 大型语言模型(LLM)被认为是推进智能教育的一项关键技术&#xff0c;因为它们展…

第一节:电路连接【51单片机+A4988+步进电机教程】

摘要&#xff1a;本节介绍如何搭建一个51单片机A4988步进电机控制电路&#xff0c;所用材料均为常见的模块&#xff0c;简单高效的方式搭建起硬件环境 一、硬件清单 ①51单片机最小控制模块 ②开关电源 ③A4988模块转接座 ④二相四线步进电机 ⑤电线若干 二、接线 三、A49…

C++并发:并发操作的同步

有时我们不仅要共享数据&#xff0c;也要让独立线程上的行为同步。例如&#xff0c;某线程只有先等待另一线程的任务完成&#xff0c;才可以执行自己的任务。 C提供了处理工具&#xff1a;条件变量和future 并且进行了扩充&#xff1a;线程闩&#xff08;latch&#xff09;&a…

Outlook2024版如何回到经典Outlook

Outlook2024版如何回到经典Outlook 如果新加入一家公司&#xff0c;拿到的电脑&#xff0c;大概率是最新版的Windows, 一切都是新的。 如果不coding, 使用国产的foxmail大概就可以解决一切问题了。可惜老程序员很多Coding都是基于传统Outlook的&#xff0c;科技公司所有人都是I…

【大模型】7 天 AI 大模型学习

因为想先快速把 llama 模型学习了&#xff0c;所以跳了两次课&#xff0c;这是这两次课的主要内容&#xff0c;后面有时间会补充上的 &#xff5e; 主要内容有&#xff1a;一些微调技术&#xff08;Alpaca、AdaLoRA、QLoRA&#xff09;、Prefix Tuning、Quantization 1. Alpaca…

网关如何识别和阻止网络攻击

网关在识别和阻止网络攻击方面扮演着关键角色&#xff0c;它通过多种技术和机制来确保网络的安全。以下是网关如何识别和阻止网络攻击的一些主要方法&#xff1a; 1.深度包检测&#xff08;DPI&#xff09; 网关可以对经过的数据包进行深度分析&#xff0c;检查数据包的头部、负…

解决 ffmpeg “Unknown encoder ‘hevc_nvenc‘“

目录 项目场景: 问题描述 原因分析: 解决方案: 项目场景: ffmpeg 剪切视频 问题描述 详细报错: [vost#0:0 @ 0x46ae00] Unknown encoder hevc_nvenc 原因分析: ffmpeg 安装错误 解决方案: 重新安装ffmpeg: conda install ffmpeg 检查当前安装的 FFmpeg 是否支…

# 设计一个 ATM 机器(LeetCode 第2241题)

设计一个 ATM 机器&#xff08;LeetCode 第2241题&#xff09; 在本篇博客中&#xff0c;我们将深入探讨如何设计一个 ATM 机器&#xff0c;以满足存取钞票的需求。这个问题来源于 LeetCode 的第2241题&#xff0c;旨在考察如何高效地管理不同面额的钞票并处理用户的存取请求。…

操作系统复习(理论版)

目录 只会在选择填空出现类型 第一章&#xff1a;操作系统导论 操作系统介绍 不得不知道的概念 可能出现在答题的类型 第二章&#xff1a;进程调度 进程管理&#xff1a; 处理机调度&#xff1a; 进程同步&#xff1a; 死锁&#xff1a; 预防死锁&#xff1a; 避免死…

概述(讲讲python基本语法和第三方库)

我是北子&#xff0c;这是我自己写的python教程&#xff0c;主要是记录自己的学习成果方便自己日后复习&#xff0c; 我先学了C/C&#xff0c;所以这套教程中可能会将很多概念和C/C去对比&#xff0c;所以该教程大概不适合零基础的人。 it seems that python nowadays 只在人工…

Linux(Centos 7.6)命令详解:ls

1.命令作用 列出目录内容(list directory contents) 2.命令语法 Usage: ls [OPTION]... [FILE]... 3.参数详解 OPTION: -l&#xff0c;long list 使用长列表格式-a&#xff0c;all 不忽略.开头的条目&#xff08;打印所有条目&#xff0c;包括.开头的隐藏条目&#xff09…

详解MySQL SQL删除(超详,7K,含实例与分析)

文章目录 前言1. 删除表中的所有记录基本语法使用场景注意事项运用实例分析说明2. 删除特定记录基本语法使用场景注意事项运用实例分析说明3. 删除单条记录基本语法使用场景注意事项运用实例分析说明4. 删除违反引用完整性的记录基本语法使用场景注意事项运用实例分析说明5. 删…

[图形渲染] 【Unity】UnityShader操作基础6-OpenGL与DirectX中的纹理坐标差异及语法差异分析

在现代图形编程中,OpenGL和DirectX作为两大主流图形API,各自有其独特的处理方式和语法规范。尽管它们的功能和目的相似,但在某些细节上却存在显著差异,尤其是在纹理坐标和着色器编程的相关操作上。本文将探讨OpenGL与DirectX在纹理坐标、语法以及语义上的差异,并给出一些跨…

numpy数组学习

前言 有时看到数组&#xff0c;容易被绕晕&#xff0c;不知道每个列表的数字分别代表什么&#xff0c;因此记录下来&#xff0c;用于后续参考。 1.轮廓点坐标 (n, 1, 2) 格式解释 (n, 1, 2)&#xff1a; n&#xff1a;表示轮廓上的点数。每个点都是轮廓的一部分。 1&#x…

改善 Kibana 中的 ES|QL 编辑器体验

作者&#xff1a;来自 Elastic Marco Liberati 随着新的 ES|QL 语言正式发布&#xff0c;Kibana 中开发了一种新的编辑器体验&#xff0c;以帮助用户编写更快、更好的查询。实时验证、改进的自动完成和快速修复等功能将简化 ES|QL 体验。 我们将介绍改进 Kibana 中 ES|QL 编辑器…

Mono里运行C#脚本25—mono_codegen

前面分析怎么样找到主函数Main的入口点功能,也就是说已经找到了这个函数的CIL代码。虽然找到了代码,但是还不能执行它的,因为它是一种虚拟机的代码。也就是说它是假的代码,不是现实世界存在的机器的代码,因此不能直接执行,必须经过后端编译器的再次编译才能真正运行它。下…

基于Spring Boot的紧急物资管理系统

基于Spring Boot的紧急物资管理系统是一个非常实用的应用&#xff0c;特别是在应对自然灾害、公共卫生事件等情况下。该系统可以帮助管理者有效地追踪和分配物资&#xff0c;确保资源能够及时到达需要的地方。以下是一个基本的实现思路和一些关键组件&#xff1a; 项目规划 需…

mini-dog-c编译器之词法分析

mini-dog-c 是一个小型的 C 语言编译器&#xff0c;是我学习和理解编译器基本工作原理的实践项目。其词法分析器能够识别 C 语言的基本语法元素&#xff0c;包括常见的标识符、整数和浮点数字面量、布尔字面量以及字符串字面量。此外&#xff0c;它还支持基本的算术和逻辑操作符…

机器学习基础-概率图模型

&#xff08;一阶&#xff09;马尔科夫模型的基本概念 状态、状态转换概率、初始概率 状态转移矩阵的基本概念 隐马尔可夫模型&#xff08;HMM&#xff09;的基本概念 条件随机场&#xff08;CRF&#xff09;的基本概念 实际应用中的马尔科夫性 自然语言处理&#xff1a; 在词…

力扣hot100——链表

160. 相交链表 class Solution { public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {set<ListNode*> s;ListNode* h headA;while (h ! NULL) {s.insert(h);h h->next;}h headB;while (h ! NULL){if (s.find(h) ! s.end()) {return h;}h …