我正在尝试创建一个函数,在给定csv文件路径和关键字的情况下,该函数可以返回关键字的行号以及关键字后下一个空行的行号。目前,代码的工作方式与我希望它的关键字,但我遇到了问题,检测一个空行。这部分代码的if (row[0] == 0) and (int(reader.line_num) > wordLineNum)
条件在它应该测试的情况下从不测试True
(这就是为什么我在上面为blankLineNum
设置了一个默认值)
def lineFinder (keyword, path): # returns the line number and next blank line within a csv
# file given a keyword
wordLineNum = 0 #hard coded will remove at some point
blankLineNum = 8 #will remove once function works as intended
csvfile = open(path, 'r')
reader = csv.reader(csvfile)
for row in reader:
if str(keyword) in row:
wordLineNum = int(reader.line_num)
for row in reader:
if (row[0] == 0) and (int(reader.line_num) > wordLineNum):
blankLineNum = int(reader.line_num)
return wordLineNum , blankLineNum
您的代码将在文件中找到最后一个关键字。这可能就是我们想要指出的,每次找到关键字时,您都会覆盖该值
在第一个循环的if下,可以添加一个检查:
相关问题 更多 >
编程相关推荐