Items der List nach der Reihe durchgehen
Verfasst: Montag 30. Oktober 2017, 12:58
Liebe Python-Forum Community,
Ich schreibe gerade ein Programm, dass aus der 1. Excel Datei Strings ausließt, nach diesen dann in der 2. Excel Tabelle sucht, dort ein paar Zellen weiter rechts die Zellen in eine list packt um diese dann wieder in die 1. Excel Tabelle einzufügen. Nun habe ich bei dieser Funktion:
Das Problem, dass mir die position_list_xlsx2 nicht in genau der Reihenfolge, in der die search_strings der list_xlsx1 gereiht sind abgespeichert werden.
Sondern beginnend mit dem niedrigsten search_string (zum Verständnis es sind alles Zahlen also die niedrigste Zahl, diese wird zuerst gefunden und daher auch zuerst in die Position_list_xlsx2 abgespeichert).
Logischerweiße müssen sie allerdings genau in der Reihenfolge abgespeichert werden, ansonsten stehen sie im Endeffekt an falschen Positionen in der erste Excel Tabelle.
Kann mir jemand kurz verraten wie ich sie in der richtigen Reihenfolge in die Position_list_xlsx2 bekomme?
Mfg
VoLLioMenTT
Ich schreibe gerade ein Programm, dass aus der 1. Excel Datei Strings ausließt, nach diesen dann in der 2. Excel Tabelle sucht, dort ein paar Zellen weiter rechts die Zellen in eine list packt um diese dann wieder in die 1. Excel Tabelle einzufügen. Nun habe ich bei dieser Funktion:
Code: Alles auswählen
def get_xlsx2_position(xlsx2, list_xlsx1, sheet_name_xlsx2):
read_xlsx2 = openpyxl.load_workbook(xlsx2)
sheet2 = read_xlsx2.get_sheet_by_name(sheet_name_xlsx2)
cell_xlsx2 = "placeholder"
vertical_xlsx2 = 1
position_list_xlsx2 = []
while cell_xlsx2 != None:
cell_xlsx2 = sheet2.cell(row=vertical_xlsx2, column=1).value
for search_string in list_xlsx1:
if cell_xlsx2 == search_string:
position_list_xlsx2.append(vertical_xlsx2)
print(position_list_xlsx2)
vertical_xlsx2 += 1
return position_list_xlsx2
Sondern beginnend mit dem niedrigsten search_string (zum Verständnis es sind alles Zahlen also die niedrigste Zahl, diese wird zuerst gefunden und daher auch zuerst in die Position_list_xlsx2 abgespeichert).
Logischerweiße müssen sie allerdings genau in der Reihenfolge abgespeichert werden, ansonsten stehen sie im Endeffekt an falschen Positionen in der erste Excel Tabelle.
Kann mir jemand kurz verraten wie ich sie in der richtigen Reihenfolge in die Position_list_xlsx2 bekomme?
Mfg
VoLLioMenTT