在python中以csv格式将数据从一张图纸剪切到另一张图纸

在python中以csv格式将数据从一张图纸剪切到另一张图纸,python,csv,Python,Csv,我正在开发一个简单的程序来打开一个文件并读取某些行,然后在另一个新文件中打印它们,但我想剪切它们并将它们从以前的csv中删除。我该怎么做?。这就是我尝试过的 import csv f = open('1.csv') csv_f = csv.reader(f) content_value = [] for row in csv_f: if 'yepme' in row[2]: content_value.append(row) g = open('output.c

我正在开发一个简单的程序来打开一个文件并读取某些行,然后在另一个新文件中打印它们,但我想剪切它们并将它们从以前的csv中删除。我该怎么做?。这就是我尝试过的

import csv

f = open('1.csv')
csv_f = csv.reader(f)

content_value = []

for row in csv_f:
    if 'yepme' in row[2]:
        content_value.append(row)


g = open('output.csv', 'wb')

wr = csv.writer(g, dialect='excel')
wr.writerows(content_value)
我正在编辑并找到了答案:

import csv

f = open('1.csv')
csv_f = csv.reader(f)

content_value = []
old_value = []
for row in csv_f:
    if 'yepme' in row[2]:
        content_value.append(row)
    else:
        old_value.append(row)

g = open('output.csv', 'wb')

wr = csv.writer(g, dialect='excel')
wr.writerows(content_value)

h = open('2.csv','wb')

ws = csv.writer(h, dialect='excel')
ws.writerows(old_value)

类似的问题也在本文中提到

简短的解决方案:写两个文件:一个包含提取的行,一个包含剩余的行

编码解决方案:

import csv

with open('1.csv', 'r') as f:
    csv_f = csv.reader(f)

new_content = []
old_content = []

for row in csv_f:
    if 'yepme' in row[2]:
        new_content.append(row)
    else:
        old_content.append(row)

with open('output.csv', 'wb') as f:
    wr = csv.writer(f, dialect='excel')
    wr.writerows(new_content)

with open('1.csv', 'wb') as f:
    wr = csv.writer(f, dialect='excel')
    f.writerows(old_content)

我从来没有使用过csv,但你应该知道。如果您的csv文件非常大,您可能应该逐行读写以避免内存问题。

您可以在输入中添加csv示例吗?我认为它没有被正确解析,因为reader函数缺少一些参数:delimiter='',quotechar='|'假设我匹配关键字yepme,并将其拾取和复制到输出文件,但它只是复制,我希望从1.csvOk中删除提取的行,但csv是例如aaa、bbb、ccc或“aaa”;“bbb”;“vvv”?一种简单的方法是覆盖输入文件,如果“yepme”输出为else inputsee me编辑的答案