2013-07-16 50 views
0

我有一個csv文件,包含用UTF-8保存的漢字。關於閱讀包含UTF-8字符的文件

項目價格 電視5000

第一行是頭,第二行是數據。換句話說,它是一個接一個的向量。

我讀此文件如下:

amatrix<-read.table("test.csv",encoding="UTF-8",sep=",",header=T,row.names=NULL,stringsAsFactors=FALSE) 

然而,輸出包括用於報頭,即,未知標記,XUFEFF

enter image description here

回答

1

即有時發現byte order mark在Unicode文本文件中。我猜你正在使用Windows,因爲這是唯一受歡迎的操作系統,文件最終可能與它們結合。

你可以做的是使用readLines讀取文件並刪除第一行的前兩個字符。

txt <- readLines("test.csv", encoding="UTF-8") 
txt[1] <- substr(txt[1], 3, nchar(txt[1])) 
amatrix <- read.csv(text=txt, ...) 
+0

嗨,該方法的工作,謝謝。順便說一句,在輸入txt < - readLines(「test.csv」,encoding =「UTF-8」)後,我直接鍵入txt,但屏幕上不顯示任何內容。哪種對象是txt? – user785099

+0

它只是一個字符串矢量,一個用於文件中的每一行。它們可能是非常長的字符串,具體取決於文件包含的內容。 –

+0

我在下面的帖子中發表了一個數字,我不太明白爲什麼txt [1]輸出什麼東西,即使它不是空的,謝謝。 – user785099

相關問題