Войти Регистрация
Мгновенный подбор запросов и объявлений для вашего сайта Цена продвижения от 5 рублей Стоимость перехода в 2 раза ниже, чем у конкурентов

1C - Чтение и обход файлов CSV

 

Чтение и обход файлов 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]);
        МассивДанных.Добавить(Струк);
    КонецЦикла;



Формы:  Упровляемые формы

Возврат к списку


 
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Защита от автоматических сообщений
Загрузить изображение
 
Войти Регистрация