2013-04-04 33 views
0

我有一個看起來很簡單的任務,它帶有一個.CSV文件。我需要用0替換兩個特定列(37,38)的所有空格。我試過下面的代碼:用.csv替換特定列的空白區域,Python

import csv 

with open("C:/Temp/whiteSpace.csv", "rb") as infile, open("C:/Temp/repaired_test.csv", "wb") as outfile: 
    reader = csv.reader(infile) 
    writer = csv.writer(outfile) 
    for row in reader: 
     row[37] = row[37].replace(' ', '0') 
     writer.writerow(row) 
     print row[37] 

然而,這只是在爲「repaired_test.csv」寫「whiteSpace.csv」與出任何的編輯。

我發現大量剝離空白(strip white spaces from file csv),但我無法連接點並使我的代碼正常工作。

對不起,多餘的問題,並提前謝謝。

回答

0

您確定要替換的字符是空白字符嗎()?它可能是一個標籤或其他東西。你可以嘗試一個正則表達式來捕獲所有空白字符:

>>> import re 
>>> r = re.compile(r'\s') 
>>> r.sub('0', 'TEXT\tSPACE TEXT') 
'TEXT0SPACE0TEXT' 
+0

嗯,更具體地說,我需要替換空白值(不同於空白?)。最終我需要進行連接,但列中的空白值會導致腳本掛掉。 – Jenny 2013-04-05 06:56:24