2015-05-26 34 views
1

从Twitter中导入一些位置信息,当我将列表转换为数据框时,我无法获得外语字符。 例如,我有这样的代码:与非英文字母相关的R问题

x <- rbind('МоскваРоссия','knoxfieldmelbourne', 'CA US','MelbrneAustralia') 
y <- data.frame(rbind('МоскваРоссия','knoxfieldmelbourne', 'CA US','MelbrneAustralia')) 

write.csv(x,'\\test2.csv') 

如果我刚才读出“X”在控制台中我得到:

> x 
    [,1]     
[1,] "МоскваРоссия"  
[2,] "knoxfieldmelbourne" 
[3,] "CA US"    
[4,] "MelbrneAustralia" 

但是,当我写X为CSV或当我看它在查看器中,我得到: enter image description here

我在Windows上运行并使用Excel打开CSV文件。

如果我在控制台中运行'y',我会得到与上面相同的结果。 显然R可以读取非英文字符,但为什么当它复制到csv时它会改变?

+0

你在使用什么操作系统(Windows默认不使用UTF-8)?你使用什么“查看器”?你用什么来查看csv文件? – MrFlick

+0

我编辑了我的帖子。查看器是R Studio查看器。我会继续尝试使用@Pascal提到的帖子中的代码,但目前它不适合我。 – jmich738

+0

如果您确实需要excel,请尝试使用Google Spreadsheet打开csv,然后导出到xlsx。更多讨论在这里:http://stackoverflow.com/questions/4221176/excel-to-csv-with-utf8-encoding –

回答

0

这些是俄罗斯字符。除非你使用很多不同的语言,并且不知道哪一个是哪一个,否则只需更改R语言环境即可。 此外,文件编码需要是UTF。

Sys.setlocale(locale = "Russian") 
write.csv(x,'\\test2.csv',fileEncoding = "UTF-8")