2016-09-27 1 views
-2

Gibt es eine Alternative dafür, mehrere For-Schleifen zu machen?Filtern von Daten aus einer Excel-Datei via CSV

Ich habe eine Excel-Datei:

|col1|col2|col3| 
1  x y 
2  s r 
3  o o 

ich eine Ausgabe wie folgt will: Wenn die erste Spalte Argument gleich 1 ist, Druck Argument aus der Spalte 3 aus der gleichen Reihe.

import csv 


reader = csv.reader(open("alerts.csv"), delimiter=',') 

rows=[] 
for row in reader: 
    rows.append(row) 
for i in row: 
    x"i"?=row[i].split(";") 

Ich versuche, eine Funktion, um herauszufinden, dass eine weitere Liste mit geteilten Informationen Form row[i] aber das wird nicht funktionieren Ich fühle mich machen würde.

Antwort

0
import pandas as pd 
reader = pd.read_csv("alerts.csv") 
print reader[['col1','col3']].loc[reader['col1'] == 1] 
+0

Während dieser Code-Schnipsel, die Frage lösen kann, [einschließlich einer Erklärung] (http://meta.stackexchange.com/questions/114762/explaining-entirely- Code-basierte Antworten) hilft wirklich, die Qualität Ihres Beitrags zu verbessern. Denken Sie daran, dass Sie die Frage für Leser in der Zukunft beantworten, und diese Leute könnten die Gründe für Ihren Codevorschlag nicht kennen. –

+0

http://stackoverflow.com/users/6019417/j-chomel - Ich werde diesen Fund weiterführen – Poonam

0

So habe ich verschiedene Idee, alles auf die verschiedenen Liste zu sortieren.

import csv 


reader = csv.reader(open("alerts.csv"), delimiter=',') 

rows=[] 
for row in reader: 
    rows.append(row) 

num_lists=int(len(rows)) 


lists = [] 
for p in range(num_lists): 
     lists.append([]) 


for i in rows: 
    lists[i][i]=row[i].split(";") 

print (lists[0][0]) 

aber das scheint nicht funktioniert: <