Python 删除csv文件中的特定行而不创建新文件

Python 删除csv文件中的特定行而不创建新文件,python,csv,Python,Csv,我有这样一个csv文件: firstname;lastname John;Stones Remi;Jack 我想删除以“Remi”开头的行,而不创建其他文件并将数据放入 谢谢您的帮助。尝试加载文件,然后只需筛选所需内容: with open(filepath, "r") as f: data = f.readlines() data = filter(lambda x: not x.startswith("Remi"), data) with open(filepath, "w

我有这样一个csv文件:

firstname;lastname
John;Stones
Remi;Jack
我想删除以“Remi”开头的行,而不创建其他文件并将数据放入


谢谢您的帮助。

尝试加载文件,然后只需筛选所需内容:

with open(filepath, "r") as f:
    data = f.readlines()
    data = filter(lambda x: not x.startswith("Remi"), data)
with open(filepath, "w") as f:
    for l in data:
        f.write(l)
这很容易

g/^Remi/d

g
-全力以赴。
^Remi
以“Remi”开头
d
删除这些


这对我来说很有用

覆盖同一个文件怎么样?打开一个编辑器-写字板、vim、emacs或任何其他想到的编辑器。删除该行。保存文件。除此之外,还有两件事:1)如果没有更多的信息(比如文件的路径),或者没有一些你已经得到的示例代码,人们无法帮助你。2) 充其量,您将覆盖现有文件,当您在程序中这样做时,最安全的做法是将其写入临时文件,然后将该文件复制到原始文件之上。这可能符合您的“不创建新文件”规则,也可能不符合。正如我在开始时所提到的-只需自己编辑文件。覆盖同一文件中以“Remi”开头的行。@JackR如果使用
vim
,那么您可以阅读yep,快速响应可以实现这一点,谢谢@Scottmermelsteinth这就是为什么不应该发生快速响应。不要担心成为西方最快的枪。这是最好的答案,投票将随着时间的推移而来。(更不用说,这个问题太糟糕了,可能无论如何都不应该回答。)@ScottMermelstein并没有想快点,只是现在有点忙,再次感谢:)