Perl to Python - CSV清理

时间:2014-02-19 13:21:17

标签: python perl csv data-cleansing

我现在被迫从Perl转到Python,甚至开了一门课程。 但我已经在CSV文件上进行简单的数据清理任务了。 我想在特定列中用空格替换¶,其他列必须不受影响:

在Perl中,这非常简单,就像一个魅力:

perl -F";" -lane 'BEGIN {$,=";"} print $F[0],$F[1],$F[2],$F[3],$F[4],$F[5],$F[6],$F[7],$F[8],$F[9],$F[10],$F[11], $F[12]=~s/\¶/ /g, $F[13]' a.csv

我怎么能用Python做到这一点?它不需要是一个oneliner ......

1 个答案:

答案 0 :(得分:3)

可以在一行中完成(但很难理解)。这是一个稍微冗长的例子。

import io
import re

with io.open('a.csv') as fin:
    for line in fin:
        parts = line.split(';')
        parts[13] = parts[13].replace('¶', ' ')
        print ','.join(parts)