我想用例如9列構建數據框,並將日誌文件用作我的輸入。對於前8列,我知道文件被空格整齊分隔。但是第9列是一個由單詞和變量組成的消息,也是由空格分隔的。用不同長度的句子構建數據框
V1 V2 V3 V4 V5 V6 V7 V8 V9
1a lo_Out [12/4/15 12:36:01:367 GMT] 000000be con J This is a message N characters long
1a lo_In [12/4/15 12:36:01:403 GMT] 0000008c Com W This is a message N characters long
2a lo_Out [12/4/15 12:36:01:404 GMT] 0000008c con J This is a message N characters long
2a lo_In [12/4/15 12:36:01:404 GMT] 000000be Com X This is a message N characters long
所以,我可以在文件中讀取,並停止我的代碼試圖分開的最後一列,只是傾倒剩菜到最後一列?
這是我做了類似的Apache日誌通用格式......但所有這一切的載體分別是相同的長度。這是由空間隔開的消息,在這裏殺死我。 Data Frame甚至是正確的方式嗎?
### First read in the logfile
logfile <- 'logfile.net-Nov-2015';
data_dt <- fread(logfile, sep = ' ');
### Load and rename important columns
data_dt[, ip_address := as.character(V1)];
data_dt[, timestamp := paste(V4, V5)];
data_dt[, request := V6];
data_dt[, http_status := V7];
data_dt[, return_size := V8];
data_dt[, referer := V9];
data_dt[, user_agent := V10];
如果編輯輸入數據,我們很難給你一個準確的答案 – Emer
道歉,當我看到你的答案,我意識到,我的數據是不準確的。我的壞 – Harunhh123
我更新使用新的方案 – Emer