Ich möchte einen Algorithmus kodieren, die eine hierarchische Ansicht eines Baumes in einer XLSX-Datei in eine Baumdatenstruktur verwandeln könnte. Das Problem ist, dass trotz der gut gemachten Hierarchie die gegebene Datei voller Löcher ist ... wie ein Gruyere
Hier ist die Vorschau der Daten, die wir ganze finden können hier :https://drive.google.com/file/d/1CiarXi ... 5mV6UZqKqP
Und ein Beispiel im reduzierten Format:
Code: Alles auswählen
SIC ,,,
,,,
Abteilung 1: Säugetiere ,,,
0100, felines ,,
0110, Katzen,
0111 ,,, Abessinier
0112 ,,, Aegan
0113 ,,, American Curl
0120, tiger,
0121 ,,, Indochinesischer Tiger
0122 ,,, Bengalischer Tiger
Abteilung 2: Reptilien ,,,
1100, crocodilians ,,
1110 ,, Krokodile,
1111 ,,, Cayman
1200 ,, Testudines
1210, Schildkröten,
1211 ,,, Kapuzinerkresse
from openpyx import load_workbook
import Pandas as pd
wb = load_workbook (Dateiname = 'Trees.xlsx')
Code: Alles auswählen
i = 0
div = 0
level = 0
AnzahlOfFullCells = 0
TypenSehen = []
for cell in wb ['Industrie'] ['A']:
if "Division" in cell
#Ich muss einen Vaterknoten erstellen
Division + = 1
if cell.type () == int:
# Wenn die Zahl auf [Stufe 1] in den vierstelligen nicht gesehen worden ist ein Knoten Sohn
if (cell [level +1] not in typeDejaVu):
TypenSehen = TypenSehen + cell
# Machen Sie ein Kind mit dem Inhalt direkt nach rechts
# Sonst, wenn der Typ bereits gesehen wurde, sind wir in einen neuen Bereich umgezogen
else if (die Nummer der Zelle auf der Ebene [level +1] in TypenSehen):
TypenSehen = []
% Machen Sie ein Kind mit dem
# sonst stehen wir vor einer leeren Zelle
else:
AnzahlOfFullCells + 1
if AnzahlOfFullCells >3:
break