Ich versuche, über mehrere Listen zu iterieren und speichern sie als CSV-Dateien in einer Tabelle zu öffnen, mit der ersten Liste seine Werte hinzufügen zu den Spalten 1, 2 und 3, und die zweite Liste addiert ihre Werte zu den Spalten 4, 5, 6. Ich bekomme stattdessen Zeile 1 von Liste eins die len (Liste 2) Anzahl von Malen und dann die zweite Zeile von Liste 2 das gleiche und so weiter. Liste 2 wird normal ausgedruckt und druckt erneut, sobald die zweite Zeile der Liste 1 endgültig gedruckt wird. Hoffentlich habe ich das gut genug erklärt. Python 3.6. Wie wiederhole ich mehrere Listen in einer for-Schleife und schreibe sie in eine CSV-Datei mit DictWriter()
ixl_file = open('ixalan.txt', 'r')
ixl_card = []
ixl_price = []
ixl_quantity = []
for line in ixl_file:
info = line.split("|")
ixl_card.append(info[0])
ixl_price.append(info[1])
ixl_quantity.append(info[2])
ixl_file.close()
kal_file = open('kaladesh.txt', 'r')
kal_card = []
kal_price = []
kal_quantity = []
for line in kal_file:
info = line.split("|")
kal_card.append(info[0])
kal_price.append(info[1])
kal_quantity.append(info[2])
kal_file.close()
with open('card_kingdom.csv', 'w', newline='') as ixl:
fieldnames = ['Col 1', 'Col 2', 'Col 3', 'Col 4', 'Col 5', 'Col 6']
writer = csv.DictWriter(ixl, fieldnames=fieldnames)
writer.writeheader()
„“ „Unten ist, wo ich Probleme hinzufügen im gewünschten Format diese beiden Liste habe“ „“
for a,b in itertools.product(range(len(ixl_card)), range(len(kal_card))):
writer.writerow({'Col 1': ixl_card[a],
'Col 2': ixl_price[a],
'Col 3': ixl_quantity[a],
'Col 4': kal_card[b],
'Col 5': kal_price[b],
'Col 6': kal_quantity[b]
})
Ihre Hilfe wäre sehr willkommen! Lassen Sie es mich wissen, wenn Sie den Rest des Codes benötigen. Vielen Dank!!
Ein kleines Beispiel Ihrer zwei Eingabedateien und wie Ihre Ausgabedatei aussehen sollte, wäre hilfreich. –
Sie erhalten dieses Ergebnis, weil 'itertools.product()' funktioniert. Können Sie weitere Details zu dem hinzufügen, was Sie erreichen möchten? –