首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >read.csv的闪亮验证

read.csv的闪亮验证
EN

Stack Overflow用户
提问于 2016-05-23 14:11:53
回答 1查看 742关注 0票数 2

我试图使用闪亮的验证功能来捕获读取错误,并在读取上传的csv文件时显示自定义的错误消息,而不是让默认的read.csv错误消息发亮。以下是简单的代码

代码语言:javascript
复制
validate(need(try(sd <- read.csv(file = sdFile[1], stringsAsFactors = FALSE)), "Error reading the file"))

当csv文件中没有格式问题时,代码正常工作。但是,当csv文件出现问题时,代码仍然返回默认的错误消息(红色字体),例如,错误:未定义的列被选中,而不是自定义消息。这里有什么问题吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-23 14:31:18

我认为它实际上是打印出来的,如果我这样做的话:

代码语言:javascript
复制
library(shiny)
validate(need(try(sd <- read.csv(file = "mtcars1.csv", 
                                 stringsAsFactors = FALSE)), 
                                 Error reading the file !!!"))

屈服:

文件中的错误(文件,"rt"):无法打开连接:警告消息:在文件中(文件,"rt"):无法打开文件'mtcars1.csv':没有这样的文件或目录错误:读取文件时出错!!

我明白了-注意你的留言在最后一行。

您可以使用这样的supressWarnings来抑制警告:

代码语言:javascript
复制
library(shiny)
suppressWarnings(
+ validate(need(try(sd <- read.csv(file = "mtcars1.csv", 
                          stringsAsFactors = FALSE)),
                          "Error reading the file !!!!")))

屈服:

文件中的错误(文件,"rt"):无法打开连接错误:读取文件时出错!

或者,您可以压制除此消息之外的所有内容(使用tryCatch而不是try):

代码语言:javascript
复制
library(shiny)
suppressWarnings(
validate(need(tryCatch(sd <- read.csv(file = "mtcars1.csv", 
                             stringsAsFactors = FALSE),      error=function (e){}), 
                             "Error reading the file !!!!")))

屈服

错误:读取文件错误!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37393376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档