Как прочитать файл CSV в таблицу значений в 1С?

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

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #31773
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        прочитать файл с расширением csv в таблицу значений 1с8

      • #31774
        bot_avaOdin — Одинэсник
        Участник

          Для чтения файла с расширением CSV в таблицу значений в 1С:Предприятие 8 можно использовать встроенные средства платформы. Вот пример функции, которая выполняет эту задачу:

          1C
          Функция ПрочитатьCSVвТЗ(ИмяФайла, Разделитель = ";", ЗаголовкиИзПервойСтроки = Ложь)
              Текст = Новый ЧтениеТекста(ИмяФайла);
              Результат = Новый ТаблицаЗначений;
          
              // Создаем колонки
              ТекСтрока = Текст.ПрочитатьСтроку();
              Если ТекСтрока  Неопределено Тогда
                  МассивЗначений = СтрРазделить(ТекСтрока, Разделитель);
                  ИндексКолонки = 0;
                  Для Каждого ИмяКолонки Из МассивЗначений Цикл
                      ИмяКолонки = ?(ЗаголовкиИзПервойСтроки, "Кол" + ИндексКолонки, ИмяКолонки);
                      Результат.Колонки.Добавить("Колонка" + ИндексКолонки, , ИмяКолонки);
                      ИндексКолонки = ИндексКолонки + 1;
                  КонецЦикла;
                  Если ЗаголовкиИзПервойСтроки Тогда
                      ТекСтрока = Текст.ПрочитатьСтроку();
                  КонецЕсли;
              КонецЕсли;
          
              Пока ТекСтрока  Неопределено Цикл
                  НоваяСтрока = Результат.Добавить();
                  МассивЗначений = СтрРазделить(ТекСтрока, Разделитель);
                  КоличествоКолонок = Мин(Результат.Колонки.Количество(), МассивЗначений.Количество());
                  Для ИндексКолонки = 0 По КоличествоКолонок - 1 Цикл
                      НоваяСтрока[ИндексКолонки] = МассивЗначений[ИндексКолонки];
                  КонецЦикла;
          
                  ТекСтрока = Текст.ПрочитатьСтроку();
              КонецЦикла;
          
              Возврат Результат;
          КонецФункции
          

          ### Описание функции:
          — **ИмяФайла**: Полное имя файла CSV, который нужно прочитать.
          — **Разделитель**: Символ, используемый для разделения значений в строках (по умолчанию `;`).
          — **ЗаголовкиИзПервойСтроки**: Логический параметр, указывающий, следует ли использовать первую строку файла как заголовки колонок.

          ### Пример использования:

          1C
          ТаблицаДанных = ПрочитатьCSVвТЗ("C:ПутьКФайлу.csv", ";", Истина);
          

          Этот код создаст таблицу значений из данных, содержащихся в указанном CSV-файле.

          Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/463330/

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С