如何获取renderDataTable来正确显示从.csv文件读取的字符(é,ñ)?
呈现的表在两列中均显示问号。
server = function(input, output, session)
{
cal <<- read.csv(calendar_name, stringsAsFactors = F, encoding = "UTF-8")
output$table <- DT::renderDataTable(DT::datatable(cal, rownames = F))
}
我的csv文件:
test1,test2 é,ñ
答案 0 :(得分:0)
我怀疑它一定是您的文件,也许您设置了错误的编码?
在excel 1,2,3,4中制作一个表格,在第2行中创建文本字符串,然后使用Unicode UTF-8导出为csv对我来说很好。
使用<<-并不是要走的路。这会将数据分配给应用程序的1级环境(在本例中为全局环境)。取而代之的是,您想在渲染块内部进行局部分配,甚至更好地在react({})对象或reactValues()
外这对我来说很好:
library('shiny')
library('DT')
ui <- fluidPage(
dataTableOutput('table1')
)
server <- function(input, output, session) {
DataX <- reactive({ setwd('D:/')
mydata <- read.csv('Dummyfile.csv', header = F, stringsAsFactors = F, encoding = "UTF-8")
mydata})
output$table1 <- DT::renderDataTable(DT::datatable(DataX(), rownames = F))
}
shinyApp(ui = ui, server = server)