разбор дерева от csv - PullRequest
       2

разбор дерева от csv

0 голосов
/ 11 марта 2020

Как я могу просто разобрать дерево из файла? На самом деле я могу получить только «узлы»

with open('source.txt') as f:
    lines = f.read().splitlines()

for line in lines:
    if line.startswith("+"):
        print(line)

вход:

+- Y
|  +- Y1
|  +- Y9
|  +- Y10
|  |  +- Y101
|  |  \- Y81
|  \- Y11
|     +- Y111
|     |  +- Y1111
|     |  \- Y1112
|     +- Y112
|     +- Y113
|        \- Y1131
+- Z
|  +- Z1
|  |  +- Z11
|  |  +- Z14
|  |  \- Z15
|  +- Z2
|  |  \- Z21
|  |     \- Z211
|  |        +- Z2111
|  |        \- Z2112
|  \- Z3

вывод должен быть:

X, Y, Y1; Y9; Y10 ; Y101; Y81; Y11; Y111; Y1111; Y1112; Y112; Y113; Y1131

X, Z, Z1; Z11; Z14; Z15; Z2; Z21; Z211; Z2111; Z2112; Z3

Ввод:

1 Ответ

0 голосов
/ 11 марта 2020

На самом деле это не разбор. Вы просто переписываете имена в каждой строке. Этот код может быть полезен:

import re

print('X,Y,' + ';'.join(re.findall(r'Y.+',s)))
print('X,Z,' + ';'.join(re.findall(r'Z.+',s)))
...