我想轉換一個文件中像如下轉換文本文件
hello
world
123
bye
world
456
byee
world
456678
到CSV文件中像
hello,world,123
bye,world,456
byee,world,456678
是可以做到這一點,而無需通過迭代整個文件,看到新線?
我想轉換一個文件中像如下轉換文本文件
hello
world
123
bye
world
456
byee
world
456678
到CSV文件中像
hello,world,123
bye,world,456
byee,world,456678
是可以做到這一點,而無需通過迭代整個文件,看到新線?
使用的scan
的multi.line能力,然後write.table適當的參數:
txt <- "hello
world
123
bye
world
456
byee
world
456678"
temp <- data.frame(scan(text=txt,
what= list(word="", dest="", num=numeric(), "NULL"),
multi.line=TRUE))
write.table(temp, sep=",", file="", quote=FALSE,col.names=FALSE)
#-------------
1,hello,world,123,
2,bye,world,456,
3,byee,world,456678,
很明顯,你會如果你想這樣發送到磁盤使用的法律文件名。
dat <- readLines(# con = 'path/to/your/file'
con = textConnection('hello
world
123
bye
world
456
byee
world
456678')
write.csv(
t(matrix(
dat[-seq(4,length(dat),4)], # Drop the spacer
length(dat)/3,3), # Estimate columns
file = "path/to/your.csv"
))
不。你有賺你的yupvote。 –
掃描它,逐行形成3列矩陣並寫出來。 (替換的scan
第一個參數和write.table
與輸入和輸出文件名的第二個參數。)
m <- matrix(scan(textConnection(Lines), what = ""), ncol = 3, byrow = TRUE)
write.table(m, stdout(), sep = ",", row.names = FALSE, col.names = FALSE, quote = FALSE)
,並提供:
hello,world,123
bye,world,456
byee,world,456678
注意
我們用這個作爲輸入
Lines <- "hello
world
123
bye
world
456
byee
world
456678"
我禾ULD做:'掃描()'中,結合所有部分,每部分,然後write.csv()。可能有更好的解決方案。 – Vlo