Importing .xlsx file with special characters

jvddorpe picture jvddorpe · Nov 7, 2016 · Viewed 9.1k times · Source

I am using the function readWorksheet from the package XLConnect to import Excel sheets in R. These sheets contain special characters (e.g., ø, õ, ú) which R does not handle very well. As far as I know, there is no "encoding" argument for the function readWorksheet as there is for the read.csv one.

Here is what I am doing so far:

data <- readWorksheet(loadWorkbook("data.xlsx"), sheet = 5)

Is there any option I could use to let R know I have special characters?

I am using RStudio 0.99.903 on macOS Sierra 10.12.1.

Answer

M. Siwik picture M. Siwik · Nov 7, 2016

This is UTF-8 letters table http://www.utf8-chartable.de/

I use package xlsx for excel files:

read.xlsx(file = ".xlsx", sheetName = "Arkusz1", encoding = "UTF-8", stringsAsFactors = F)

This is in polish language, but print and read.xlsx reads all letters like "ś", "ć" etc.

[27] "Niewłaściwa kwalifikacja memoriałowa przychodu"                                                                                                                                            
[28] "Niewłaściwe ceny transferowe"                                                                                                                                                              
[29] "niewłaściwe zarządzanie relacjami z kontrahentami" 

finally if you can't read xlsx, just save your excel as .csv and read csv with encoding