Вход | Регистрация


CSV в одну строку - разбить на много строк

CSV  в одну строку - разбить на много строк
Я
   ac13
 
20.02.18 - 10:27
В файле CSV одна сплошная строка.
Страна;Город;Улица;Дом;Россия;Рязань;Белинского;180;Россия;Рязань;Гагарина;25;Россия;Рязань;Дружная;111;
Нужно загрузить файл и соответственно по колонкам. Как при встрече значения, например, Россия, перейти на следующую строку?
 
 
   VladZ
 
1 - 20.02.18 - 10:28
СтрЗаменить(ИсходнаяСтрока, СтрокаПоиска, СтрокаЗамены)
   ildary
 
2 - 20.02.18 - 10:30
(0)
Функция   ПрочитатьФайлCSV( ИмяФайла ) Экспорт
// УЧИТЫВАЯ СЕРВЕРНОСТЬ ФУНКЦИИ - путь к файлу должен быть СЕТЕВОЙ!

    
    ТЗ = Новый ТаблицаЗначений;
    
    Файл  = Новый ЧтениеТекста( ИмяФайла );
    
    Шапка = Файл.ПрочитатьСтроку();//заголовок

    МассивКол = СтрРазделить( Шапка, ";", Ложь );
    Для Каждого ИмяСтолбца Из МассивКол Цикл
        
        ИмяБезПробелов = СтрЗаменить( ИмяСтолбца, " ", "" );
        ТЗ.Колонки.Добавить( ИмяБезПробелов,, ИмяСтолбца ); 
        
    КонецЦикла;
    
    Стр = Файл.ПрочитатьСтроку();
    Пока Стр <> Неопределено Цикл
        
        Стр = СтрЗаменить( Стр, " ; ", ";" );//при выгрузке могут быть лишние пробелы

        
        МассивКол = СтрРазделить( Стр, ";", Истина );
        СтрокаТЗ = ТЗ.Добавить();
        
        Если МассивКол.Количество() <> ТЗ.Колонки.Количество() Тогда//Продолжить

            Продолжить;// скорее всего в тексте содержит разделитель 

        КонецЕсли;
        
        Для НомерСтолбца= 1 по МассивКол.Количество() Цикл//заполняем строчку значениями 

            
            ТекущееЗначение = МассивКол[ НомерСтолбца - 1 ];
            ИмяКолонки                = ТЗ.Колонки[ НомерСтолбца - 1 ].Имя;
            
            СтрокаТЗ[ ИмяКолонки ] = СокрЛП( ТекущееЗначение ); 
            
        КонецЦикла; 
        
        Стр = Файл.ПрочитатьСтроку();
        
    КонецЦикла;
    
    Файл.Закрыть();
    
    Возврат ТЗ;
    
КонецФункции
   Timon1405
 
3 - 20.02.18 - 10:31
(1)+СтрЗаменить(ИсходнаяСтрока, ";Россия",Символы.ПС+"Россия")
   ac13
 
4 - 20.02.18 - 10:31
(1) (2) (3) Спасибо!

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует