Ich habe Probleme beim Lesen einer Datei, in der die Zeilen unterschiedliche Längen haben. Insbesondere weiß ich, dass die Datei 13 Zeilen lang ist und dass die Zeilen 1 und 13 2 Werte enthalten, wobei der Rest (2-12) 4 hat. Ich möchte einen Wert aus Zeile 1 und einen Wert aus Zeile 13 und erhalten ein Wert von jeder der Zeilen 2-12, abhängig davon, ob ihr vorhergehender Wert gleich "Guthaben" oder "Soll" ist oder nicht. Da die Zeilen unterschiedliche Längen haben, erhalte ich einen 'index out of range' Fehler. Jede Hilfe würde sehr geschätzt werden. Vielen Dank!Probleme beim Lesen von CSV-Dateien mit Zeilen unterschiedlicher Spaltenanzahl
class Checkbook:
"""Checkbook class for list of check transactions"""
def __init__(self, filename):
"""initializer for Checkbook class"""
self.name = filename
self.debitList = []
self.creditList = []
self.startAmt = 0
self.endAmt = 0
self.shouldBeBal = 0
with open(filename) as csvFile:
readCSV = csv.reader(csvFile, delimiter = ',')
#rowCount = sum(1 for row in readCSV) - 1
#print(rowCount)
next(csvFile)
#in range(1, rowCount, 1):
for row in readCSV:
if (row[2] == " debit"):
debitAmt = row[3]
self.debitList.append(debitAmt)
elif (row[2] == " credit"):
creditAmt = row[3]
self.creditList.append(creditAmt)
'len (row)' gibt Ihnen die Länge einer Reihe, so dass Sie können es in Ihrer Logik verwenden. – leekaiinthesky