从csv文件中删除不以特定关键字开头的行?

时间:2017-06-28 14:25:01

标签: python

我有test.csv文件,如下所示

aa123,abc
ab123,bcd
si_a23,bcd
da123,abc
si_b24,bcd

在这里我需要删除所有不以si_开头的行,所以我的最终输出文件应该是

si_a23,bcd
si_b24,bcd

到目前为止,我在代码中做到了这一点 -

    f = open("test.csv","r")
   lines = f.readlines()
   f.close()
   f = open("test.csv","w")
   for line in lines:
   if line.startswith ("si_"):
       f.write(line)
   f.close()

我得到一个带空白文件的输出。我在这里做错了什么。

1 个答案:

答案 0 :(得分:0)

我尝试了以下代码(由您发布),它与您的示例一样正常。

{{1}}

但我可以建议您使用一些调试代码,例如:

  • print(lines)
  • 打印(线)

也许你在尝试时写一个新文件(不要覆盖)。