我將字符串數據保存到csv文件。使用字符串輸入讀取csv文件並將其轉換爲列表
數據的一個例子是這樣的:
col_name,
TextA TextB,
TextC TextD,
我嘗試使用read.csv()
當我看到我拿numeric
,而不是string
值的CSV讀取CSV。我發現這是因爲我沒有將值引入引號中,所以不會將它們識別爲字符串。
有沒有和方法來處理它,以便採取這樣的最終結果:
"TextA", "TextB", "TextC", "TextD"
我將字符串數據保存到csv文件。使用字符串輸入讀取csv文件並將其轉換爲列表
數據的一個例子是這樣的:
col_name,
TextA TextB,
TextC TextD,
我嘗試使用read.csv()
當我看到我拿numeric
,而不是string
值的CSV讀取CSV。我發現這是因爲我沒有將值引入引號中,所以不會將它們識別爲字符串。
有沒有和方法來處理它,以便採取這樣的最終結果:
"TextA", "TextB", "TextC", "TextD"
假設文件被命名爲test.csv
你可以導入:
df <- read.csv('~/Downloads/test.csv',sep=',',header=T,stringsAsFactors = F)
在其中設置參數stringsAsFactors
至FALSE
以導入col_name
作爲字符串。使用strsplit
並取消列出結果列表會給你的元素。
> unlist(strsplit(df[,1],' '))
[1] "TextA" "TextB" "TextC" "TextD"
我們可以直接與scan
讀它來創建一個vector
v1 <- sub(",", "", scan("text.csv", sep=" ", what = "", quiet=TRUE)[-1])
v1
#[1] "TextA" "TextB" "TextC" "TextD"
'strsplit'和'unlist'。 – alistaire
@alistaire謝謝。但是,如果沒有定點標記的情況下讀取字符串如何? – teletab
對於'read.csv'(或'read_csv','fread'等等)來說這不是問題,因爲除非你的字符串中有逗號,否則引號是多餘的。它將會成爲'read.table'的一個問題。 – alistaire