2013-06-20 22 views
1

我正在將具有預期列數的不可預知字符集字符串插入表中。我在選擇合適的分隔符方面遇到了麻煩。read.table中的一個字節分隔符參數()

例如,一個樣品表可能看起來像:

文件名:foo.txt的

分隔符: 「\ u00AA」

ROW1,COL1:FOO

ROW1,COL2: b,AR

ROW1,COL3:FO; OBAR

ROW1,COL4:乙ö

而且。

在RI將給

函數read.table( 'foo.txt的',九月= 「\ u00AA」)

,並得到

無效 '九月' 值:必須是一個字節

我應該使用什麼分離,以避免與U衝突不可預知的字符串? Unicode被接受爲\ u007F,但R解釋任何更高的是多字節。爲什麼?

+0

爲什麼不在你的字符串中轉義所有'''實例之後,使用像'''一樣的東西,並且包含一個像'''的引號字符?命令行工具'sed'對於這種事情是非常方便的。 – Justin

+0

我要提高效率。我不想將引用的字符串放在引號中,但這是一個可以記住的選項。 – bfb

+0

我感到沮喪的癥結在於我正在編寫和閱讀R中的表格並閱讀python中的表格。使用製表符分隔文件非常適合用R編寫並用Python讀取,但R無法讀取製表符分隔的文件。我返回「錯誤掃描(文件,什麼,nmax,sep,dec,引號,跳過,nlines,na.strings,: 行72373沒有11個元素」 – bfb

回答

0

調試輸入問題的方法是先運行table(count.fields('file.nam'))oddities <- which(count.fields('file.nam') %in% odd_counts)和再看看任一個readLines('fil.nam')[oddities]版本或用sed看違規線。通常問題是註釋字符,默認情況下是「#」,這種情況下的解決方案是在read.delim(.)調用中使用comment.char=""

+0

在未來很有幫助。非常感謝。 – bfb

1

想通了。感謝您的啓發。

的關鍵是要設定comment.char = 「」 和報價= 「」

例如,

函數read.table( '富',九月= 「\ t」 的,報價= 「」,comment.char =「」)

返回正確的data.frame。

相關問題