在.csv中替换特定列Python的空格

时间:2013-04-04 20:20:35

标签: python csv python-2.7 whitespace

我的.CSV文件看似简单。我需要将两个特定列(37,38)的所有空格替换为0。我尝试过以下代码:

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]

但是,这只是简单地将“whiteSpace.csv”写入“repaired_test.csv”而不编辑任何内容。

我发现有很多关于剥离空白(strip white spaces from file csv)但我无法连接这些点并让我的代码工作。

抱歉这个多余的问题,并提前谢谢你。

1 个答案:

答案 0 :(得分:0)

您确定要替换的字符是空白字符()吗?它可以是标签或其他东西。您可以尝试使用正则表达式来捕获所有空白字符:

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