Добрый день.
На входе имеется текстовая строка такого вида
' 1 01.01.17 1 07.01.17 4 902 333392 Ден. терминал прид. комплекс "Ро 333,35 0
Нужно разделить ее на 11 столбцов через определенно количество символов.
Получится ли сделать это, не используя однократное разделение по числу символов?
Если да, то наверное функцию писать нужно будет или можно стандартными способами обойтись.
Оригинальный файл довольно большой, под 100 тыс строк и разделение по каждому столбцу занимает время.
Нашел похожее решение, но не получается доделать под себя.
Код |
---|
let
ListOfLengths = {11,11,11,11,5,7,10,33,12,12,12},
ListPosition = List.Positions(ListOfLengths),
Positions = {0} & List.Transform(ListPosition, each List.Sum(List.FirstN(ListOfLengths, _+1)) ),
ColNames = List.Transform({1..List.Count(ListOfLengths)}, each Text.From(_)),
Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
ChType = Table.TransformColumnTypes(Source,{{"Столбец1", type text}})
SplitCol = Table.SplitColumn(ChType,"Столбец1",Splitter.SplitTextByPositions(Positions),ColNames)
in
SplitCol
|