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

2024-06-10 05:33:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有测试.csv文件如下

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

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

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()

我得到一个空白文件的输出。我做错了什么。你知道吗


Tags: 文件csvtestcloselineopenlinesabc
1条回答
网友
1楼 · 发布于 2024-06-10 05:33:54

我尝试了下面的代码(由您发布),它与您的示例配合得很好。你知道吗

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()

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

  • 打印(行)
  • 打印(行)

也可以在尝试(不覆盖)时写入新文件。你知道吗

相关问题 更多 >