2016-04-01 21 views
1

CSVファイルから最後の行を削除しようとしていますが、Python 2.7を使用していますが、コードが機能していません。CSVファイルから最後の行を削除する

with open('eggs.csv', 'rb') as f: 
    last_timestamp = f.readlines()[-1].split(",")[0] 
    f.writerow()[-1] 

Thannks !!

+0

それを書くためにあなたが持っている1つの問題は、ファイルが書き込み用ではなくrbで開かれていることです。 – PyNEwbie

答えて

1

CSVファイルで作業している場合は最善の解決策は、だから何あなたが持っているだろうことは、各要素は辞書であるリストである適切なツール

import csv 

with open('eggs.csv','rb') as fh: 
    mylist = [] 
    myreader = csv.DictReader(fh) 
    headers = myreader.fieldnames 
    for row in myreader: 
     mylist.append(row) 

を使用することです。辞書のキーは、列見出しで、値は、カラム今

最後の行を削除するための行の値である:

mylist = mylist[0:-1] 

をしてから出しバック

outref = open('eggs.csv','wb') 
mywriter = csv.DictWriter(outref, fieldnames = headers) 
headerdict = dict((col,col) for col in headers) # create a dict with col headings) 
mywriter.writerow(headerdict) #writeout the column headings first 
mywriter.writerows(mylist) #write the data 
outref.close() 
関連する問題