如何在python 2.7

时间:2016-03-04 15:38:14

标签: python-2.7 loops csv row

我有一个csv文件,我想在Python 2.7中操作。 我的第一列有一个ID列表,其中一些是重复的。 我已经按ID对文件进行了排序,因此重复项一起出现。 我希望我的代码能够识别row的ID是否与上一行的ID相同,如果是,则需要将重复行的B列文本添加到文本中。 ID出现的第一行。 某些值出现的次数超过2次。这意味着我需要创建一个循环,一旦识别出一个副本就操纵它,直到操作完所有重复项。

   | Col1  | Col2   | Col3         
   | ----- | ------ | -----    
0  | a     | text1  | text1       
1  | b     | text1  | text1 , text2, text3       
2  | b     | text2  |       
3  | b     | text3  |      
4  | c     | text8  | text8       

我的问题是我无法选择一行来构建循环。 csv包中的行似乎是一个没有唯一标识的列表,如果它是row1,row2等。

import csv  
with open('dataset.txt', 'rb') as f:
    reader = csv.reader(f, delimiter="\t")
    for row in reader:
         # i = i+1 # so that the comparison of cola will begin from row2
         cola = str(row[0:1])[2:-2]         
         colb = str(row[1:2])[2:-2]
         colc = str(row[2:3])[2:-2]
         colc = colb
         print cola, " ", colb, " ", colc
         # compare cola of this row to the one of the previous row
         # if cola[r] == cola[r-1]: #
         with open("new.txt", "ab+") as f:
             writer = csv.writer(f, dialect='excel', delimiter='\t')    
             writer.writerow([cola, colb, colc])

我失败的地方是分别操纵每一行,以便我可以比较 例如,行[1]或第1行和第2行是相同的(b)。

任何建议都会非常有帮助。我是python的新手。

我知道每个row都是一个列表,但我如何遍历csv文件所包含的每个列表?

如果你建议一个更好的头衔,我将不胜感激。这不仅仅是关于循环,而是关于唯一地识别每一行/列表。

0 个答案:

没有答案