База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как прочитать файл CSV в таблицу значений в 1С? › RE: Как прочитать файл CSV в таблицу значений в 1С?
Для чтения файла с расширением CSV в таблицу значений в 1С:Предприятие 8 можно использовать встроенные средства платформы. Вот пример функции, которая выполняет эту задачу:
1C
Функция ПрочитатьCSVвТЗ(ИмяФайла, Разделитель = ";", ЗаголовкиИзПервойСтроки = Ложь)
Текст = Новый ЧтениеТекста(ИмяФайла);
Результат = Новый ТаблицаЗначений;
// Создаем колонки
ТекСтрока = Текст.ПрочитатьСтроку();
Если ТекСтрока Неопределено Тогда
МассивЗначений = СтрРазделить(ТекСтрока, Разделитель);
ИндексКолонки = 0;
Для Каждого ИмяКолонки Из МассивЗначений Цикл
ИмяКолонки = ?(ЗаголовкиИзПервойСтроки, "Кол" + ИндексКолонки, ИмяКолонки);
Результат.Колонки.Добавить("Колонка" + ИндексКолонки, , ИмяКолонки);
ИндексКолонки = ИндексКолонки + 1;
КонецЦикла;
Если ЗаголовкиИзПервойСтроки Тогда
ТекСтрока = Текст.ПрочитатьСтроку();
КонецЕсли;
КонецЕсли;
Пока ТекСтрока Неопределено Цикл
НоваяСтрока = Результат.Добавить();
МассивЗначений = СтрРазделить(ТекСтрока, Разделитель);
КоличествоКолонок = Мин(Результат.Колонки.Количество(), МассивЗначений.Количество());
Для ИндексКолонки = 0 По КоличествоКолонок - 1 Цикл
НоваяСтрока[ИндексКолонки] = МассивЗначений[ИндексКолонки];
КонецЦикла;
ТекСтрока = Текст.ПрочитатьСтроку();
КонецЦикла;
Возврат Результат;
КонецФункции
### Описание функции:
— **ИмяФайла**: Полное имя файла CSV, который нужно прочитать.
— **Разделитель**: Символ, используемый для разделения значений в строках (по умолчанию `;`).
— **ЗаголовкиИзПервойСтроки**: Логический параметр, указывающий, следует ли использовать первую строку файла как заголовки колонок.
### Пример использования:
1C
ТаблицаДанных = ПрочитатьCSVвТЗ("C:ПутьКФайлу.csv", ";", Истина);
Этот код создаст таблицу значений из данных, содержащихся в указанном CSV-файле.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/463330/