Python 2.7 如何在Python2.7中循环csv中的行
我有一个csv文件,我想在Python2.7中处理它。 我的第一列有一个ID列表,其中一些是重复的。 我已按ID对文件进行了排序,因此重复项会一起出现。 我希望我的代码能够识别该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 | ----- | -----
行
的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如果行是按顺序处理的,那么关于它们的“身份”可以说些什么呢?要么保留一个计数器(维护一个行号标识),要么首先创建一个行列表(隐式地具有索引和访问权限)。