Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 如何在Python2.7中循环csv中的行_Python 2.7_Loops_Csv_Row - Fatal编程技术网

Python 2.7 如何在Python2.7中循环csv中的行

Python 2.7 如何在Python2.7中循环csv中的行,python-2.7,loops,csv,row,Python 2.7,Loops,Csv,Row,我有一个csv文件,我想在Python2.7中处理它。 我的第一列有一个ID列表,其中一些是重复的。 我已按ID对文件进行了排序,因此重复项会一起出现。 我希望我的代码能够识别该行的ID是否与前一行的ID相同,如果相同,则需要将重复行的B列的文本添加到ID出现的第一行的文本中。 有些值出现2次以上。这意味着我需要创建一个循环,一旦识别出一个副本,就会对其进行操作,直到所有副本都被操作为止 | Col1 | Col2 | Col3 | ----- | -----

我有一个csv文件,我想在Python2.7中处理它。 我的第一列有一个ID列表,其中一些是重复的。 我已按ID对文件进行了排序,因此重复项会一起出现。 我希望我的代码能够识别该
的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包中的行似乎是一个没有唯一标识的列表(如果是第1行、第2行等)

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新手

我知道每个
行都是一个列表,但如何循环浏览csv文件包含的每个列表


如果你能提出一个更好的标题,我将不胜感激。这不仅仅是循环,而是唯一地标识每一行/列表。

行是按顺序读取的。读卡器中的行的
是依次读取每一行的内容。我如何通过它来识别特定的行?这样我就可以比较两个不同行的项目了?您可以选择熊猫吗?现在不行,我们没有安装它。我是否应该假设这在熊猫身上很容易做到?@qqs如果行是按顺序处理的,那么关于它们的“身份”可以说些什么呢?要么保留一个计数器(维护一个行号标识),要么首先创建一个行列表(隐式地具有索引和访问权限)。