2015-11-03 84 views
1

我正在尋找一種有效的方式來使用read.csv(或替代方法)讀取具有100,000個列和幾乎一行的.csv文件時。導入.csv時將列轉換爲行

具有此結構的文件是從MATLAB中提取的,似乎更喜歡添加數百萬行而不是列。在Excel中打開文件時,它不會完全加載,因此我不能簡單地進行轉置。

以下作品在r中仍然很慢,但我想知道是否有更好的方法?

library(data.table) 
dfr <- as.data.frame(t(fread('filename.csv'))) 
+0

怎麼樣,如果只是有單行使用'scan'? – akrun

+0

嘗試'data.frame(Col = scan('filename.csv',skip = 1,what = numeric(),sep =','))'假設有一個標題行(我們通過skip = 1跳過)' – akrun

+0

給出關於你的MATLAB結構(或者單元陣列)的一些細節,並且展示它是如何保存的(Matlab代碼),如果你需要一些關於如何以另一種方式保存的幫助。 – Hoki

回答

1

如果只有單排,我們可以scan閱讀並轉換爲data.frame

data.frame(Col=scan('filename.csv', skip=1, what=numeric(), sep=','))