[英]How to delete a row of CSV file using csv reader in Python?
我想处理csv文件的每一行并存储到数据库中。 存储该行之后,我想在csv文件中删除该行。 我已经编写了用于获取和存储行的代码。 但是我被困在删除csv文件上的一行。
我的代码:
import csv
entries = csv.reader(open('/opt/workspace/jup/juppro/media/docs/phonebook.csv', 'rb'), dialect='excel-tab')
entries_list = []
entries_list.extend(entries)
total_records= len(entries_list)
uploaded_records=0
for data in entries_list:
uploaded_records=uploaded_records+1
cols = data[0].replace('"','')
cols1= cols.split(';')
contact = phonebook()
contact.email = cols1[0]
contact.firstname = cols1[1]
contact.lastname = cols1[2]
contact.phoneno = cols1[3]
#names.append(data[0])
contact.save()
我向您建议此代码
import csv
from os.path import getsize
from itertools import islice
print 'size of file :',getsize('/opt/workspace/jup/juppro/media/docs/phonebook.csv')
entries = csv.reader(open('/opt/workspace/jup/juppro/media/docs/phonebook.csv', 'rb'), dialect='excel-tab')
n = 3
cnt = 0
chunk = True
while chunk:
chunk = list(islice(entries,n))
if chunk==[]:
print 'processing ended'
break
# here: all the treatments of the rows being in chunk
cnt += n
print cnt
如果所有文件都已处理,则无需在处理时删除行:在处理后将删除文件。
如果您想根据精确的条件删除一些行,请说出它,我们将采用上面的代码
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.