Мне нужно прочитать примерно 300 отдельных CSV. Мне удалось автоматизировать процесс, используя петлевые и структурированные имена CSV. Однако каждый CSV имеет 14-17 строк мусора в начале и он изменяется случайным образом, поэтому жесткое кодирование параметра "skip" в команде read.table не будет работать. Имена столбцов и количество столбцов одинаковы для каждого CSV.
Вот пример того, с чем я против:
QUICK STATISTICS:
Directory: Data,,,,
File: Final_Comp_Zn_1
Selection: SEL{Ox*1000+Doma=1201}
Weight: None,,,
,,Variable: AG,,,
Total Number of Samples: 450212 Number of Selected Samples: 277
Statistics
VARIABLE,Min slice Y(m),Max slice Y(m),Count,Minimum,Maximum,Mean,Std.Dev.,Variance,Total Samples in Domain,Active Samples in Domain AG,
6780.00, 6840.00, 7, 3.0000, 52.5000, 23.4143, 16.8507, 283.9469, 10, 10 AG,
6840.00, 6900.00, 4, 4.0000, 5.5000, 4.9500, 0.5766, 0.3325, 13, 13 AG,
6900.00, 6960.00, 16, 1.0000, 37.0000, 8.7625, 9.0047, 81.0848, 29, 29 AG,
6960.00, 7020.00, 58, 3.0000, 73.5000, 10.6931, 11.9087, 141.8172, 132, 132 AG,
7020.00, 7080.00, 23, 3.0000, 104.5000, 15.3435, 23.2233, 539.3207, 23, 23 AG,
7080.00, 7140.00, 33, 1.0000, 15.4000, 3.8152, 2.8441, 8.0892, 35, 35 AG,
В основном я хочу читать из строки VARIABLE,Min slice Y(m),Max slice Y(m),...
. Я могу придумать несколько решений, но я не знаю, как я буду программировать. В любом случае я могу:
- Сначала прочитайте CSV и как-то выясните, сколько строк мусора есть, а затем перечитайте его и укажите правильное количество строк для пропусков? Или
- Скажите
read.table
, чтобы начать чтение, когда он находит имена столбцов (так как они одинаковы для каждого CSV) и игнорировать все до этого?
Я думаю, что решение (2) было бы наиболее подходящим, но я открыт для любых предложений!