2012-12-07 34 views
8

Sonuç matrisimi csv dosyasına yazmak istiyorum. Ayraç kullanarak csv dosyasına yazma

Ben kodu

write.table(result, file ="F:\\filename.csv",row.names=FALSE,sep=",") 

kullanılan Ama sonuç zaten bu veri tipini yazmak için bazı "" değeri olan, bu nedenle ayırıcı kullanımı ne tür.

Ayraç olarak zaten 'sekme' kullandım ancak o zaman sütun olarak ayrılmadı, değerler tek bir sütuna eklendi.

Ayrıca

çalıştı ama bu kez tek bir sütun içeriği çok sayıda sütuna splited edilir.

+1

Belki de verilerinizin nasıl yazılmasını istediğinizi bize söyleyin. Genellikle, '' verileri içinde varsayılan dizeleri ile olduğu gibi '" 'tarafından cinsindendir, write.table'' de önemli olmamalı. – Thilo

+2

klasik '' ondalık ayırıcı olarak kullanılan ülkelerde (Fransa ve örneğin Almanya) , "csv" dosyaları aslında yarı-virgülle ayrılmış (bu ülkeleri belirli bir sürümü yüklerseniz tüm elektronik tablo programında varsayılandır). Yani 'write.table (sonuç, dosya =" F: \\ filename.csv ", satır .names = YANLIŞ, Eylül = ";"..?) 'oldukça klasik olacak bir sekme ile sınırlandırılmış argüman dosyaları Aksi için' Eylül = "\ t" 'olan – plannapus

+0

@plannapus bir cevap olun – Roland

cevap

16

,'un ondalık ayırıcı olarak kullanıldığı ülkelerde (örneğin Fransa ve Almanya), "csv" dosyaları aslında yarı-virgülle ayrılmışlardır (söz konusu ülkeleri belirli bir sürümü yüklediyseniz tüm elektronik tablo programlarında bu varsayılan değerdir).
write.table(result, file ="F:\\filename.csv",row.names=FALSE,sep=";") çok klasik olurdu.
bunun için bir sarıcı olduğunu aslında Yani klasik:

write.csv2(result, file ="F:\\filename.csv",row.names=FALSE) 

write.csv2 kullanım sep=";" ve varsayılan olarak dec=",".

Aksi takdirde, sekmeyle ayrılmış dosyalar için argüman sep="\t"'dur.

+1

@Roland ama bunu Benim durumumla çalışmıyor – user1790894

+0

@ user1790894 'dput',' str' veya 'head' kullanarak verilerinizin bir örneğini gösterebilir misiniz? Verilerinizi görmeden gerçekten neden ve nasıl çalışmadığını anlamıyorum. . – plannapus

0

qmethod = "double"'u kullanmaya meyilliyim ve bu nedenle ayırıcılar alan içeriğine müdahale etmiyor.

0

İstediğiniz sınırlayıcıyı istediğiniz gibi kullanabilirsiniz, ayrıca bir dizeyi sınırlayıcı olarak kullanabileceğinizi de unutmayın. Yani bazı standart dışı örnekler "||" olabilir veya "|/|". Bu, alanlardan birinin zaten ";" gibi başka türdeki sınırlayıcıları içermesi durumunda özellikle yararlıdır. "," ":" veya "|".

İlgili konular