2017-01-16 158 views
1

我將字符串數據保存到csv文件。使用字符串輸入讀取csv文件並將其轉換爲列表

數據的一個例子是這樣的:

col_name, 
TextA TextB, 
TextC TextD, 

我嘗試使用read.csv()

當我看到我拿numeric,而不是string值的CSV讀取CSV。我發現這是因爲我沒有將值引入引號中,所以不會將它們識別爲字符串。

有沒有和方法來處理它,以便採取這樣的最終結果:

"TextA", "TextB", "TextC", "TextD" 
+1

'strsplit'和'unlist'。 – alistaire

+0

@alistaire謝謝。但是,如果沒有定點標記的情況下讀取字符串如何? – teletab

+1

對於'read.csv'(或'read_csv','fread'等等)來說這不是問題,因爲除非你的字符串中有逗號,否則引號是多餘的。它將會成爲'read.table'的一個問題。 – alistaire

回答

2

假設文件被命名爲test.csv你可以導入:

df <- read.csv('~/Downloads/test.csv',sep=',',header=T,stringsAsFactors = F) 

在其中設置參數stringsAsFactorsFALSE以導入col_name作爲字符串。使用strsplit並取消列出結果列表會給你的元素。

> unlist(strsplit(df[,1],' ')) 
[1] "TextA" "TextB" "TextC" "TextD" 
0

我們可以直接與scan讀它來創建一個vector

v1 <- sub(",", "", scan("text.csv", sep=" ", what = "", quiet=TRUE)[-1]) 
v1 
#[1] "TextA" "TextB" "TextC" "TextD" 
相關問題