2016-11-14 3 views
1

Ich bin auf der Suche nach einem csv von R, wo keiner der Werte Anführungszeichen um sie herum haben. Dies scheint die Norm zu sein, wenn Sie eine CSV in Excel erstellen, aber nicht in R.Wie schreibe ich eine csv von R ohne notierte Werte?

Nehmen Sie das folgende Beispiel:

set.seed(100) 
df <- data.frame(Apples=sample(1:10, 5), Oranges=sample(1:10, 5), Bananas=sample(1:10, 5), Dates=sample(1:10, 5)) 
write.table(df, sep=",", row.names = FALSE) 

Wenn Sie es in Notepad öffnen sehen Sie die Spaltenüberschriften haben Anführungszeichen um sie herum. Ich brauche es ohne Anführungszeichen, wenn der CSV erfolgreich in ein anderes Programm importiert werden soll.

Ich bemerkte, dass das erneute Speichern des CSV in Excel die Anführungszeichen verschwinden lässt, aber ich muss vermeiden, diesen Schritt zu machen.

Ich versuchte Dinge wie col.names = noquote(colnames(LineupCSV)) als Argument in write.table, aber ohne Erfolg.

Wie kann ich die Anführungszeichen um Werte entfernen, wenn ich eine csv in R schreibe?

+4

Verwenden Sie das 'quote = false' Argument? – ekstroem

+0

'write.csv (df," df.csv ", quote = F)' –

+1

Wir müssen eine Antwort hinzufügen, um ein dupftes Ziel für diese und möglicherweise faq zu haben. Bitte fügen Sie ein @ ekstroem –

Antwort

1

Wenn Sie einen Datenrahmen als csv-Datei zu schreiben, ohne Angabe Werte und Strings dann können Sie das quote=FALSE Argument gesetzt, wenn write.table oder ein, wenn seine Wrapper wie write.csv und write.csv2 aufrufen.

set.seed(100) 
df <- data.frame(Apples=sample(1:10, 5), 
       Oranges=sample(1:10, 5), 
       Bananas=sample(1:10, 5), 
       Dates=sample(1:10, 5)) 
write.table(df, file="~/test.csv", sep=",", row.names = FALSE, quote=FALSE) 

Alternativ können Sie fwrite vom data.table Paket (zumindest von 1,97 an) verwenden

fwrite(df, file="~/test2.csv") 
1

Verwenden quote Argument innerhalb write.table() Funktion. Setzen Sie ihn auf FALSCH

formalArgs(write.table) 
# [1] "x"   "file"   "append"  "quote"  "sep"   "eol"   "na"   "dec"   "row.names" "col.names" "qmethod"  
# [12] "fileEncoding" 

set.seed(100) 

df <- data.frame(Apples=sample(1:10, 5), Oranges=sample(1:10, 5), Bananas=sample(1:10, 5), Dates=sample(1:10, 5)) 

write.table(df, file="MyFile.csv", sep=",", row.names = FALSE, quote = FALSE) 
Verwandte Themen