Друзья, здравствуйте! Во вложении текстовый файл. Разделитель "вертикальная черта". Иногда попадаются такие строки, что они как бы разорваны, т.е. почему-то в строке присутствует перенос строки или что-то (строки в файле примере с NN п/п 160 и 945). По сути, что нужно сделать руками это: 1) посмотреть что строка начинается не с "вертикальной черты" 2) встать в начало этой строки 3) нажать backspace 4) поставить пробел Как подобную логику объяснить Power Query? Нужно именно на нем, не VBA. Спасибо.
Для этой выписки работает. Столбцы я начала вручную переименовывать на последнем шаге, но не очень догнала что там как зовут. И нахально предположила, что лишних строк сверху всегда 11
Код
let
Source = Csv.Document(File.Contents("C:\Users\юзер\Downloads\Выписка.txt"),[Delimiter=",", Columns=2, Encoding=1251, QuoteStyle=QuoteStyle.None]),
col1 = Source[Column1],
RemovedTopRows = List.Skip(col1,11),
KeptFirstRows = List.FirstN(RemovedTopRows, (x)=> not Text.StartsWith(x, "+-")),
res = {},
acc = List.Accumulate( KeptFirstRows,
res,
(state, current) =>
if Text.StartsWith (current, "|")
then state & {current}
else List.FirstN(state, List.Count(state) -1) & {List.Last( state) & current} ),
#"Converted to Table1" = Table.FromList(acc, Splitter.SplitTextByDelimiter("|", QuoteStyle.None), null, null, ExtraValues.Error),
#"Removed Columns" = Table.RemoveColumns(#"Converted to Table1",{"Column1"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Column2", "№"}, {"Column3", "№№"}, {"Column4", "Номер договора"}, {"Column5", "Дата договора"}, {"Column6", "Наименование филиала"}})
in
#"Renamed Columns"