将包含日语字符的csv文件读入R

7

我在使用R读取一个csv文件时遇到困难,因为这个文件中有一些列是标准的英文字符、一些是数字,还有一些是日文字符。以下是数据样式:

category,desc,otherdesc,volume
UPC - 31401 Age Itameabura,かどや製油 純白ごま油,OIL_OTHERS_SML_ECO,83.0
UPC - 31401 Age Itameabura,オレインリッチ,OIL_OTHERS_MED,137.0
UPC - 31401 Age Itameabura,TVキャノーラ油,OIL_CANOLA_OTHERS_LRG,3026.0 

保持R语言设置为英文时,日语字符会被转换成一些无意义的字符。当我将R的语言设置更改为日语,Sys.setlocale("LC_CTYPE", "japanese"),我发现文件根本没有被读取。R会报错,显示:

Error in make.names(col.names, unique = TRUE) : invalid multibyte string at 'サcategory'

我不知道我的csv文件或标题名称有什么问题。您能指导我如何将这个csv文件读入R中,以便所有内容都像在csv文件中一样显示吗?

谢谢! Vish


1
这个代码:df <- read.table(header = TRUE, sep = ',', text = 'category,desc,otherdesc,volume UPC - 31401 Age Itameabura,かどや製油 純白ごま油,OIL_OTHERS_SML_ECO,83.0 UPC - 31401 Age Itameabura,オレインリッチ,OIL_OTHERS_MED,137.0 UPC - 31401 Age Itameabura,TVキャノーラ油,OIL_CANOLA_OTHERS_LRG,3026.0 ') 对你有用吗?你能提供一个CSV文件的样本吗?看起来像是编码问题... - EDi
尝试调整fileEncoding参数以读取*函数。 - IRTFM
可能也是平台问题。我刚刚复制了你的文件,使用VIM保存为.csv格式。在Mac OS 10.5.8上,使用read.table(file.choose(), sep=",", header=TRUE)读取时没有任何问题。 - CT Zhu
@MatthewPlourde:尝试了那个选项,不起作用!(u<-read.csv(file.choose(), sep=",", header=TRUE, check.names=FALSE)。我正在使用Windows。这可能与平台有关吗?另外,您需要将语言环境更改为日语吗? - user2895779
这对我有用:read.csv(file.choose(), sep=",", header=TRUE,encoding="UTF-8")。非常感谢大家的快速帮助! - user2895779
显示剩余2条评论
1个回答

2

对于日语,以下内容适用于我:

df <- read.csv("your_file.csv", fileEncoding="cp932")


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接