Python 2.7 使用Python在csv文件的指定行上循环
我正在使用python 2.7中的csv包Python 2.7 使用Python在csv文件的指定行上循环,python-2.7,csv,Python 2.7,Csv,我正在使用python 2.7中的csv包 import csv f=open('Path\Top.csv') csv_f = csv.reader(f) counter = 0 for row in csv_f: if counter ==0 : next # Do some more stuff counter += 1 第一行包含标题,我不希望将其包含在循环中。我试图用上面的方案在分析中省略第一行 有没有一种优雅的方法可以达到同样的效果
import csv
f=open('Path\Top.csv')
csv_f = csv.reader(f)
counter = 0
for row in csv_f:
if counter ==0 :
next
# Do some more stuff
counter += 1
第一行包含标题,我不希望将其包含在循环中。我试图用上面的方案在分析中省略第一行
有没有一种优雅的方法可以达到同样的效果,上面的方案是行不通的
另外,我如何从某一行I迭代到第j行,而不必每次都从第一行开始。文件很大,每次从第一行开始都会浪费时间
谢谢。是一个函数,而不是控制流语句。改为使用以获得所需的行为。您还需要在if
块中递增,因为continue
将跳过循环迭代的其余部分
if counter == 0:
counter += 1
continue
或者,一种更简洁的方法(假设您不需要计数器
)是在进入for
循环之前,使用next
跳过第一行。这还演示了next
的正确用法。在本例中,我忽略了next(csv\u f)
的返回值,但值得注意的是,如果您想在循环行之前处理csv头,它将包含csv头
csv_f = csv.reader(f)
next(csv_f) # Skip header
for row in csv_f:
# Do some more stuff
print row
如果您确实需要计数器
,一种更具python风格的方法是使用内置函数
csv_f = csv.reader(f)
for counter, row in enumerate(csv_f):
if counter == 0:
continue
# Do some more stuff
print row
感谢您提供有关“继续”和“下一步”的信息。除了每次都从第一行开始,还有什么方法可以迭代自定义行号,比如从第一行到第j行?@Perpetional_wheel查看itertools.islice
()。这将允许您迭代指定的开始和停止间隔。