2016-04-01 28 views
0

R'ye okumak için bir sürü .csv dosyası verdim. Ne yazık ki çok kötü biçimlendirilmişlerdir. biçimlendirme aşağı üst sıradan şöyle bir şey:Düzensiz satır biçimli .csv okuma

  1. Başlık
  2. Boş satır
  3. Boş verileri satır
  4. başka veri başlığı ait
  5. Veri başlık
  6. 5 satır
  7. 5 satır daha fazla veri
  8. Ve sonra desen
  9. yineleniyor Ben R boş satırları kaldırmak için kullanabileceğiniz

    "Parameter 
    ",Value,Category 
    , , 
    Class1, , 
    Blue,50,Bright 
    Green,0.10,Bright 
    Purple,0.050,Bright 
    Yellow,0.50,Bright 
    White,0.20,Bright 
    , , 
    Class2, , 
    Blue,50,Dull 
    Green,0.10,Dull 
    Purple,0.050,Dull 
    Yellow,2.0,Dull 
    White,0.20,Dull 
    

    Benim sorum ve veri başlığı: Burada

bu sorunu gösteren bir .csv olarak bir metin dosyasına yapıştırılır ve kaydedilmiş olabilir bir şeydir satır, bu yüzden .csv, içe aktarılan karışık sıralar olmadan içe doğru okur?

.csv'yi doğrudan bir soru ekleyebileceğimi sanmıyorum, ancak burada fazladan bir adım eklediğim için özür dilerim.

cevap

2

bu sorununuzu çözüyor mu?

na.omit(read.table(your_csv, skip=3, sep=",")) 

veya read.csv ile

:

na.omit(read.csv(your_csv, skip=3, header=FALSE)) 

Biz ilk üç satırı atlamak, bazıları 3 sütun yok gibi. Aslında, read.* tarafından okunan ilk satır, 4. satırdaki tüm diğer sütunlar gibi üç sütuna sahiptir. Daha sonra, csv'unuzdaki boş hücreler NA s'ye dönüştürüldüğünden en az bir NA içeren satırları kaldırırız. İlk çizgileri olurdu eğer (muhtemelen daha düzgün) böyle biçimlendirilmiş olduğu

Not:

Parameter,Value,Category 
, , 
Class1, , 
Blue,50,Bright 

sonra na.omit(read.csv(your_csv)) işi yapardı ve başlık korumuştur.

+0

Neden olduğunu bilmiyorum. – boshek

+0

'Neden' diye detaylandırdım ve 'nasıl' kısaltdım. Şu an belirsiz bir şey mi var? –