Ich arbeite am Lesen von meiner CSV-Datei mit Python. Aber ich möchte nur bestimmte (letzte gültige) Zeilen aus dem Schwanz in CSV auch lesen, es gibt einen Haken, dass Funktion die gesamte Zeile nur zurückgeben sollte, wenn es gültig ist. Kann mir jemand dabei helfen?Lesen Sie die letzten gültigen Zeilen in CSV mit Python
Unten ist mein CSV-Datei wie folgt aussieht:
Sr. Add A B C D
0 0013A20040D6A141 -308.1 -307.6 -307.7 -154.063
1 0013A20040DC889A -308.7 -311.7 -311.7 -154.263
2 0013A20040DC88C3 -310.1 -310.1 -310.2 -154.863
3 0013A20040D6A141 -308.2 -306.8 -307.7 -153.863
4 0013A20040DC889A -308.7 -311.4 -311.1 -153.263
5 0013A20040DC88C3 -- -- -- --
6 0013A20040D6A141 -308.7 -308.3 -305.2 -154.663
und der Code I versuche:
def last_data(address):
i = sum(1 for line in open("filename.csv", 'r'))
print i # number of lines in csv
cache = {} # dict that saved the last data for particular address
n = 3
with open("filename.csv",'r') as f:
q = deque(f, 3) # 3 lines read at the end
qp = [''] * n
if i +1 >= n: # for checking whether the number of lines greater than number of add.
for k in range(n):
qp[k] = q[k].split(',')
if address == str(qp[k][1]): # check for particular address in row
# if the row has data than put it into json object with address as key and nested key as columns 'A', 'B', etc.
cache.update({address: {'A':struct.pack('>l',int(float(qp[k][3]) * 10)),
'C':struct.pack('>l',int(float(qp[k][4]) * 10))
}})
return cache[address]['A'], cache[address]['C']
Für last_data('0013A20040DC88C3')
Rückkehr 5. Reihe mit ungültigen Daten, wo ich 2. Reihe zeigen wollen . Kann mir irgendjemand sagen, wie ich das mache?
Wenn der Datensatz nicht wirklich groß ist, würde ich wahrscheinlich Pandas verwenden, es sagen, welche seprator Sie verwenden (Tab?), Geben Missings als „---“ und einfach entfernen sie am Ende –
@ChristianSauer Nein. Es ist eine große CSV-Datei. Ich habe das Trennzeichen mit ', (Komma)' verwendet. Aber hier habe ich mit 'tab' gezeigt. Kannst du mir das Beispiel mit Pandas geben? – abhi1610
vielleicht sollten Sie Ihren Code erklären ... – Julien