1С 8.3 Выгрузка CSV в Массив
Данные > Примеры кода 1С > 1С 8.3 CSV
Перейти в раздел примеры кода 1С 8.3:
Преобразование CSV в Массив в 1С 8.3:
&НаСервере
Функция Выгрузка_CSV_в_Массив(Файл_CSV)
// Доп.функция
// в типовой аналог: в общ.мод.СтроковыеФункцииКлиентСервер
// РазложитьСтрокуВМассивПодстрок();
// пример тут: https://koder.by/razlozhitstrokuvmassivpodstrok.php
РазделительCSV = Символы.Таб; // можно любой
ЗаголовкиCSV = СокрЛП(СтрПолучитьСтроку(Файл_CSV ,1));
МассивЗаголовков = РазложитьСтрокуВМассивПодстрок(ЗаголовкиCSV, РазделительCSV, Ложь);
РезультатМассив = Новый Массив;
Для Строка_CSV = 2 По СтрЧислоСтрок(Файл_CSV) Цикл
Строка_Стр = СтрПолучитьСтроку(Файл_CSV , Строка_CSV);
МассивПодстрок = РазложитьСтрокуВМассивПодстрок(Строка_Стр, РазделительCSV, Ложь);
НомПП = 0;
СтруктураCSV = Новый Структура(СтрЗаменить(ЗаголовкиCSV, РазделительCSV, ","));
Для Каждого ЗначениеКлюч Из СтруктураCSV Цикл
НомПП = НомПП + 1;
СтруктураCSV[ЗначениеКлюч.Ключ] = МассивПодстрок[НомПП];
КонецЦикла;
РезультатМассив.Добавить(СтруктураCSV);
КонецЦикла;
Возврат РезультатМассив; // Возвращаем готовый Массив
КонецФункции
Функция Выгрузка_CSV_в_Массив(Файл_CSV)
// Доп.функция
// в типовой аналог: в общ.мод.СтроковыеФункцииКлиентСервер
// РазложитьСтрокуВМассивПодстрок();
// пример тут: https://koder.by/razlozhitstrokuvmassivpodstrok.php
РазделительCSV = Символы.Таб; // можно любой
ЗаголовкиCSV = СокрЛП(СтрПолучитьСтроку(Файл_CSV ,1));
МассивЗаголовков = РазложитьСтрокуВМассивПодстрок(ЗаголовкиCSV, РазделительCSV, Ложь);
РезультатМассив = Новый Массив;
Для Строка_CSV = 2 По СтрЧислоСтрок(Файл_CSV) Цикл
Строка_Стр = СтрПолучитьСтроку(Файл_CSV , Строка_CSV);
МассивПодстрок = РазложитьСтрокуВМассивПодстрок(Строка_Стр, РазделительCSV, Ложь);
НомПП = 0;
СтруктураCSV = Новый Структура(СтрЗаменить(ЗаголовкиCSV, РазделительCSV, ","));
Для Каждого ЗначениеКлюч Из СтруктураCSV Цикл
НомПП = НомПП + 1;
СтруктураCSV[ЗначениеКлюч.Ключ] = МассивПодстрок[НомПП];
КонецЦикла;
РезультатМассив.Добавить(СтруктураCSV);
КонецЦикла;
Возврат РезультатМассив; // Возвращаем готовый Массив
КонецФункции
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник