Odin | База знаний 1С

Как прочитать файл ...
 

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


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

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



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

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

1C
Функция ПрочитатьCSVвТЗ(ИмяФайла, Разделитель = ";", ЗаголовкиИзПервойСтроки = Ложь)
    Текст = Новый ЧтениеТекста(ИмяФайла);
    Результат = Новый ТаблицаЗначений;

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

    Пока ТекСтрока  Неопределено Цикл
        НоваяСтрока = Результат.Добавить();
        МассивЗначений = СтрРазделить(ТекСтрока, Разделитель);
        КоличествоКолонок = Мин(Результат.Колонки.Количество(), МассивЗначений.Количество());
        Для ИндексКолонки = 0 По КоличествоКолонок - 1 Цикл
            НоваяСтрока[ИндексКолонки] = МассивЗначений[ИндексКолонки];
        КонецЦикла;

        ТекСтрока = Текст.ПрочитатьСтроку();
    КонецЦикла;

    Возврат Результат;
КонецФункции

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

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

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

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

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



   
ОтветитьЦитата