【发布时间】:2019-02-19 23:48:23
【问题描述】:
我正在学习理解,但我不知道如何将 for 循环运行 N 次。在这种情况下,我想导入 .csv 文件的前 5 行。但我想了解进一步解决方案的逻辑。
def columnMatch(self):
with open(self.file_path) as csvfile:
readcsv = csv.reader(csvfile, delimiter=';')
line_count = 0
row_list = []
for row in readcsv:
if line_count < 5:
row_list.append(row)
line_count += 1
return row_list
【问题讨论】:
-
由于您的代码目前是这样,一旦超出条件,您希望
break循环。 -
另外,您的代码中没有列表理解
-
from itertools import islice和for row in islice(readcsv, 5):将循环限制为 5 次迭代。 -
谢谢@MartijnPieters。感谢您的评论,我明白了:row_list = [row for row in islice(readcsv,5)] 可以解决问题。
-
@Roy:
row_list = list(islice(readcsv, 5))也是如此;当所有列表理解所做的只是回显循环目标时,无需使用列表理解。 :-)(row是循环中的循环目标)。
标签: python