База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как прочитать файл CSV в таблицу значений в 1С? › RE: Как прочитать файл CSV в таблицу значений в 1С?

Для чтения файла с расширением CSV в таблицу значений в 1С:Предприятие 8 можно использовать встроенные средства платформы. Вот пример функции, которая выполняет эту задачу:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 1C Функция ПрочитатьCSVвТЗ(ИмяФайла, Разделитель = ";", ЗаголовкиИзПервойСтроки = Ложь) Текст = Новый ЧтениеТекста(ИмяФайла); Результат = Новый ТаблицаЗначений; // Создаем колонки ТекСтрока = Текст.ПрочитатьСтроку(); Если ТекСтрока Неопределено Тогда МассивЗначений = СтрРазделить(ТекСтрока, Разделитель); ИндексКолонки = 0; Для Каждого ИмяКолонки Из МассивЗначений Цикл ИмяКолонки = ?(ЗаголовкиИзПервойСтроки, "Кол" + ИндексКолонки, ИмяКолонки); Результат.Колонки.Добавить("Колонка" + ИндексКолонки, , ИмяКолонки); ИндексКолонки = ИндексКолонки + 1; КонецЦикла; Если ЗаголовкиИзПервойСтроки Тогда ТекСтрока = Текст.ПрочитатьСтроку(); КонецЕсли; КонецЕсли; Пока ТекСтрока Неопределено Цикл НоваяСтрока = Результат.Добавить(); МассивЗначений = СтрРазделить(ТекСтрока, Разделитель); КоличествоКолонок = Мин(Результат.Колонки.Количество(), МассивЗначений.Количество()); Для ИндексКолонки = 0 По КоличествоКолонок - 1 Цикл НоваяСтрока[ИндексКолонки] = МассивЗначений[ИндексКолонки]; КонецЦикла; ТекСтрока = Текст.ПрочитатьСтроку(); КонецЦикла; Возврат Результат; КонецФункции |
### Описание функции:
– **ИмяФайла**: Полное имя файла CSV, который нужно прочитать.
– **Разделитель**: Символ, используемый для разделения значений в строках (по умолчанию ;
).
– **ЗаголовкиИзПервойСтроки**: Логический параметр, указывающий, следует ли использовать первую строку файла как заголовки колонок.
### Пример использования:
1 2 | 1C ТаблицаДанных = ПрочитатьCSVвТЗ("C:ПутьКФайлу.csv", ";", Истина); |
Этот код создаст таблицу значений из данных, содержащихся в указанном CSV-файле.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/463330/