2016-09-27 44 views
-2

是否有eny替代方案比制作多个for循环?通过CSV从Excel文件中过滤数据

我有一个Excel文件:

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

我想要的输出是这样的:当第一列参数等于从第3列来自同一行1,打印参数。

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(";") 

我试图找出一个功能,这将使分割信息的形式row[i]但不会工作,我觉得另一个列表。

回答

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

虽然这个代码片断可以解决的问题,[包括解释(http://meta.stackexchange.com/questions/114762/explaining-entirely-基于代码的答案)确实有助于提高帖子的质量。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。 –

+0

http://stackoverflow.com/users/6019417/j-chomel - 我会继续向前看 – Poonam

0

所以我有不同的想法排序一切出不同的名单。

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]) 

,但似乎不起作用:<