2013-10-16 4 views
5

カンマ区切りのcsvファイルからテーブルを作成しようとしています。私はすべての行が同じ数の要素を持っているわけではないことを認識していますので、これらの行を削除するコードを記述します。問題は、別のカンマも含めた数値(千単位)を含む行があることです。read.tableはコンマで区切られた値で、各要素の中にはコンマもあります。

pURL <- "http://financials.morningstar.com/ajax/exportKR2CSV.html?&callback=?&t=EI&region=FRA&order=asc" 
res <- read.table(pURL, header=T, sep='\t', dec = '.', stringsAsFactors=F) 
x <- unlist(lapply(keyRatios, function(u) strsplit(u,split='\n')) [[1]]) 
あなたはどちらか read.tableまたは read.delimquote =引数を利用するために必要

答えて

8

が...

res <- read.delim(pURL, header=F, sep=',', dec = '.', stringsAsFactors=F , quote = "\"" , fill = TRUE , skip = 2) 

区切り文字が","です:私は適切にそれらの行を分割することができないんだけど、ここに私のコードですいいえ。"\t"。数千万と書かれた数字はです。quote引数を使用して、quote = "\""という引用符内のカンマを無視して最初の2行をスキップし、空白を埋めたい場合は、このファイルに引用されているが常にです。不均一な線で

head(res) 

#       2003-12 2004-12 2005-12 2006-12 2007-12 2008-12 2009-12 2010-12 2011-12 2012-12 TTM 
#2   Revenue EUR Mil 2,116 2,260 2,424 2,690 2,908 3,074 3,268 3,892 4,190 4,989 5,034 
#3   Gross Margin % 60.6 60.3 57.3 58.2 57.6 56.9 56.1 55.5 55.4 55.8 56.1 
#4 Operating Income EUR Mil  365  404  394  460  505  515  555  618  683  832 841 
#5  Operating Margin % 17.2 17.9 16.2 17.1 17.4 16.7 17.0 15.9 16.3 16.7 16.7 
#6  Net Income EUR Mil  200  227  289  331  371  389  402  472  518  584 594 
#7 Earnings Per Share EUR 3.90 4.30 5.44 6.22 3.48 3.62 3.78 4.36 4.82 2.77 2.80 

私はそれがより良いの書式を与えた

names(res) <- res[1,]; res <- res[-1,] 

...このようなその後resのカラム名を設定します。

+0

すばらしい答えに感謝します。 – nopeva

+0

@ AP13あなたは大歓迎です。最初の場所に再現可能な例を提供してくれてありがとう! :-) –

関連する問題