Python-如何获取循环中的最后一行

标签 python csv iteration

我有一些 CSV 文件,我必须通过循环修改这些文件。该代码循环遍历源文件,读取每一行,进行一些修改,然后将输出保存到另一个 CSV 文件。为了检查我的工作,我希望将第一行和最后一行保存在另一个文件中,以便我可以确认没有跳过任何内容。

我所做的是将所有行放入一个列表中,然后从索引减 1 中获取最后一行。这可行,但我想知道是否有一种更优雅的方法来完成此操作。

代码示例:

def CVS1():
  fb = open('C:\\HP\\WS\\final-cir.csv','wb')
  check = open('C:\\HP\\WS\\check-all.csv','wb')
  check_count = 0
  check_list = []
  with open('C:\\HP\\WS\\CVS1-source.csv','r') as infile:
    skip_first_line = islice(infile, 3, None)
    for line in skip_first_line:       
       check_list.append(line)
       check_count += 1
       if check_count == 1:
         check.write(line)

     [CSV modifications become a string called "newline"]

     fb.write(newline)

final_check = check_list[len(check_list)-1]
check.write(final_check)
fb.close()

最佳答案

如果您确实需要 check_list 来做某事,那么,正如其他答案所建议的那样,使用 check_list[-1] 相当于但优于 check_list[ len(check_list)-1].

但是你真的需要这个列表吗?如果您只想跟踪第一行和最后一行,那么您不需要。如果您专门跟踪第一行,并在进行过程中跟踪当前行,那么最后,第一行和当前行就是您想要的。

事实上,由于您似乎一看到第一行就将其写入 check 中,因此您不需要跟踪除当前行之外的任何内容。当前行,您已经知道了,它是 line

所以,让我们删除所有其他内容:

def CVS1():
    fb = open('C:\\HP\\WS\\final-cir.csv','wb')
    check = open('C:\\HP\\WS\\check-all.csv','wb')
    first_line = True
    with open('C:\\HP\\WS\\CVS1-source.csv','r') as infile:
        skip_first_line = islice(infile, 3, None)
            for line in skip_first_line:       
                if first_line:
                    check.write(line)
                    first_line = False

                [CSV modifications become a string called "newline"]

                fb.write(newline)

            check.write(line)    
            fb.close()

关于Python-如何获取循环中的最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25280663/

相关文章:

php - 导出到 Excel 或 csv

c++ - 使用范围 for 循环而不使用 auto 关键字 c++

python - 在使用 dict.values() 或 dict.itervalues() 迭代时修改字典值

java - 如何迭代链表

python - 插入记录没有显示在 postgres 中

python - 如何使用 pandas 写入 Excel 文档的中间

python - 路径中的转义序列

javascript - 使用带有动态 CSV 文件名的 UTF-8 和/uFEFF 在 JavaScript 中导出 CSV

python - 覆盖 Django 中的特定管理 css 文件

python - csv读取文件的问题