【发布时间】:2015-03-25 19:48:57
【问题描述】:
我在 .csv 文件中输入了一个文本字符串,其中包括 unicode 符号:\U00B5 g/dL。
在.csv 文件中以及读入 R 数据框:
test=read.csv("test.csv")
\U00B5 会产生微信号- µ。 R 按原样将其读入数据文件(\U00B5)。但是,当我打印字符串时,它显示为\\U00B5 g/dL。
或者,手动输入代码也可以。
varname <- c("a", "b", "c")
labels <- c("A \U00B5 g/dL", "B \U00B5 g/dL", "C \U00B5 g/dL")
df <- data.frame(varname, labels)
test <- data.frame(varname, labels)
test
# varname labels
# 1 a A µ g/dL
# 2 b B µ g/dL
# 3 c C µ g/dL
我想知道在这种情况下如何摆脱转义符号\ 并让它打印出符号。
或者,如果有另一种方法可以打印出 R 中的符号。
非常感谢您的帮助!
【问题讨论】:
-
当你说,但是当我打印字符串时它显示为
\\U00B5 g/dL。,你在哪里打印字符串? -
在我看来,问题不在于正确打印 unicode 字符,而在于正确地从文件中读取文字 unicode 文本并将其解释为 unicode 字符串。
-
如果您按照@RichardScriven 的建议使用UTF-8 对文件进行编码,您可以在调用
read.csv()时使用fileEncoding="UTF-8", allowEscapes=T。 -
如果您在文本文件中确实有“\U00B5 g/dL”,那不是 Unicode。这只是一个 ASCII 斜线,后跟字母和数字。我不清楚你的 csv 文件中有什么。如果您提供一个可重现的示例(特别是显示文件的字节),那就太好了
-
@AlexA。是的。那就是问题所在!如果我手动输入它,它工作正常。但如果我从
.csv文件导入。它会添加`\`。