将数据从一个 sheet 剪切到另一个 python 中的 csv 中

Cut data from one sheet into another in csv in python

我正在开发一个简单的程序来打开一个文件并读取某些行,然后将它们打印到另一个新文件中,但我想剪切它们并将它们从早期的 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)

this question中提到了类似的问题。

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

编码解决方案:

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 文件非常 很大,您可能应该逐行读写以避免内存问题。