在python中以csv格式将数据从一张图纸剪切到另一张图纸
我正在开发一个简单的程序来打开一个文件并读取某些行,然后在另一个新文件中打印它们,但我想剪切它们并将它们从以前的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
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编辑的答案