2012-04-18 60 views
0

我有一個csv文件如下:備用CSV行刪除

gindex 
1 
1 
2 
2 
3 
3 
7 
7 

我印刷每個元素兩次誤。我怎樣才能刪除每個重複的行得到下面的結果:

gindex 
1 
2 
3 
7 

回答

3

無需花哨的CSV處理,如果是真的只是要取消所有的二線,像做:

with open("csv") as f: 
    for i, line in enumerate(f): 
     if i % 2 == 0: 
      print(line) 
+1

Oneliner! ;)[打印(行)爲我,在列舉行(打開(「csv」))如果不是我%2](不要那樣做,否則小貓死) – ch3ka 2012-04-18 13:13:54

+0

謝謝!這是一個快速解決方案:-) – codious 2012-04-18 13:14:56

1

你可以讀文件到一個數組,跳過所有其他行,然後寫出來(正確這段時間!),覆蓋原文件。如果文件太大而無法存儲到內存中,請在讀取原始文件時將修正版本寫入臨時文件,然後移動/複製該文件以覆蓋原始文件。