Чтение и обход файлов CSV
Задача:
Прочитать файл CSV и закписать в Структуру и сделать массив структур.
Структура файла такая:
Если открыть в EXCEL файл CSV то он будет выглядеть так:
CODE
|
NAME
|
432
|
Ivanov
|
852
|
Fedorov
|
654
|
Nikiforov
|
Если открыть текстовым документом, то увидите следующую картину:
CODE;NAME
432;Ivanov
852;Fedorov
654;Nikiforov
Тоесть надо прочитать нам со второй строки, так как в первой у нас названия колонок
Решение:
Сначала определяем путь к файлу, я укажу его явно:
ПутьКФайлу = "C:\Users\admin\Downloads\file.csv";
Далее читаем файл:
ПрочитанныйФайл = Новый ТекстовыйДокумент;
ПрочитанныйФайл.Прочитать(ПутьКФайлу);
Итак, файл мы прочитали, теперь наша задача обойти файл построчно и записать в Структуру.
Для начала Мы объявим массив и укажем разделитель:
МассивСотрудники = Новый Массив;
Разделитель = ";";
А теперь циклом со второй строки читаем файл:
Для НомерСтроки=1 по ПрочитанныйФайл.КоличествоСтрок() Цикл
Строка = ПрочитанныйФайл.ПолучитьСтроку(НомерСтроки);
СтрокаРазбитаяПоРазделителю = СтрРазделить(Строка,Разделитель);
Струк = Новый Структура;
Струк.Вставить("CODE", СтрокаРазбитаяПоРазделителю[0]);
Струк.Вставить("NAME", СтрокаРазбитаяПоРазделителю[1]);
МассивСотрудники.Добавить(Струк);
КонецЦикла;
После обхода у нас появился массив МассивСотрудники в котором список Структур сотрудников с CODE и NAME, Массив можно передавать на сервер и обрабатывать массив обходом.
Полный код:
ПутьКФайлу = "C:\Users\admin\Downloads\file.csv";
ПрочитанныйФайл = Новый текстовыйДокумент;
ПрочитанныйФайл.Прочитать(ПутьКФайлу);
Разделитель = ";";
МассивДанных = Новый Массив;
Для НомерСтроки=1 по ПрочитанныйФайл.КоличествоСтрок() Цикл
Строка = ПрочитанныйФайл.ПолучитьСтроку(НомерСтроки);
СтрокаРазбитаяПоРазделителю = СтрРазделить(Строка,Разделитель);
Струк = Новый Структура;
Струк.Вставить("CODE", СтрокаРазбитаяПоРазделителю[0]);
Струк.Вставить("NAME", СтрокаРазбитаяПоРазделителю[1]);
МассивДанных.Добавить(Струк);
КонецЦикла;
Формы:
Упровляемые формы