【发布时间】:2021-07-31 03:52:30
【问题描述】:
原创 当我尝试上传我的 csv 文件时,我收到一条错误消息,指出“输入字符串 7 在此语言环境中无效”。我尝试使用 encoding="UTF-8" 和 encoding="UTF-16LE"。我使用 UTF-16LE 是因为我研究了这是用于 csv 文件的编码。但是,我仍然遇到错误消息。我不确定如何检查 csv 文件的编码。
更新: 当我使用 fileEncoding = "UTF-8" 时,我可以上传我的文件。但是,应用程序无法识别行和列。
library(shiny)
ui <- fluidPage(
navbarPage("Dashboard",
tabPanel(title = "Model",
sidebarLayout(
sidebarPanel(
fileInput("file1", "Choose .csv file", #add red asterisks to make this mandatory
accept = c(
"text/csv",
"text/comma-separated-values,text/plain",
".csv"),
),
),
mainPanel(
tabsetPanel(
tabPanel("Data",
tableOutput("tableOne"))
)
)
)
)
)
)
server <- function(input,output){
data <- reactive({
req(input$file1)
file1 <- input$file1
if(is.null(file1)){return()}
read.table(file=file1$datapath, fileEncoding = "UTF-8")
})
output$tableOne <- renderTable({
req(input$file1)
if(is.null(data())){return ()}
data()
})
#output$data <- renderTable(output$tableOne)
}
shinyApp(ui,server)
【问题讨论】:
-
你能查一下this
-
@akrun 我去保存文件时能够找到文件的编码。但是,现在它无法识别行和列。
-
不识别行和列是什么意思。是否弄乱了分隔符
-
@akrun 我在上面提供了一张照片,可能是分隔符问题。
-
您的
read.table没有为sep提供任何分隔符。我认为这可能是问题所在,因为它可能正在检查您保存数据时删除的空格字符