2017-05-05 35 views
1

私はread.csvでcsvをインポートした後、csvから2つの列をドロップし、新しいcsvで処理したデータをエクスポートする必要がある前処理を行っています。 元のcsvには、ファイルの先頭に2行の空白行があります。これは新しいcsvに追加する必要があります。最初の3行スキップし、次のようにCSVに先頭の空白行を追加するにはどうすればよいですか?

私は、CSVファイルを読み込む(込みをヘッダー。):

Bla <- read.csv("Bla.csv", skip = 3, header = TRUE) 

処理ステップの世話をした後、次のように、私は、CSVファイルを書き込む:

write.csv(Bla, file = "Clean_Bla.csv", row.names = FALSE) 

元のcvsのように、新しいcsvの最初の3行は空白にしておきたいと思います。 catで試しましたが、うまくいかないようです。これは、catが実行しているのは、csvの最後に空白の行が追加されているためです。

cat("\n", file='Clean_Bla.csv', append=TRUE) 

ありがとうございます!ここ

答えて

1

実施例は、あなたが前にデータフレームに値を欠落しているためNAを配置する必要があり、その後、あなたはNA

#data your dataframe before writing 
    data<-data.frame(Type=c("A","B","D","D","E","E"), 
       Ratio=c(5,6,3,3,4,4), 
       Number=c(65,74,43,34,23,12)) 
a<-rep(NA,dim(data)[2]) 
a<-rbind(a,a,a) 
write.table(a, file = "Clean_Bla.csv", row.names = FALSE,na="",col.names=FALSE,sep=",") 
write.table(data, file = "Clean_Bla.csv", row.names = FALSE,na="",append=TRUE,sep=",") 
+0

申し訳ありませんが、今、それは完全に働いOK –

+0

です。これはきちんとした解決策です。ありがとうフェデリコ! – Filippoflow

1

のために「」の書き込みをRに言わなければならない選択肢は2を読むことであろう完了したらClean_Blaに添付してください。このようにして、最初の2行が何であるかを実際に指定する必要はありません。あなただけのオリジナルのデータセットからまっすぐにそれを取る:

Bla_first3 = read.csv("Bla.csv", nrow = 2, header = TRUE) 
Bla = read.csv("Bla.csv", skip = 3, header = TRUE) 

# After cleaning 
CleanBla = rbind(Bla_first3, Bla) 

write.csv(CleanBla, file = "Clean_Bla.csv", row.names = FALSE) 

注これは最終的なデータセットと同じ列があり、元のデータセットを前提としていること

関連する問題