在python字符串中,如何将字符“œ”替换为“£”

时间:2015-05-08 08:24:50

标签: python string replace character special-characters

我正在将一个CSV文件解析为python,但是需要用£替换-charachter,我如何实现这个添加:

#!/usr/bin/python
# -*- coding: cp1252 -*-

不起作用。

我在CSV文件中看到“œ”符号,当被python解析时,它显示为“œ”,所以我需要用python将“œ”替换为“£”。

使用以下代码打开CSV:data = [row for row in csv.reader(open(CSVfilename, 'rU'))]然后我有:testVar = (data[someRow][someCol]).replace(",", "")基本上删除了逗号,但是当我添加:replace.("œ", "£")时它不起作用

有人可以帮忙吗?感谢

1 个答案:

答案 0 :(得分:0)

coding: cp1252是您正在处理的python文件的编码方式,与CSV文件的编码无关。

我想您的问题是,您没有考虑正确的编码而打开csv,因此您会得到奇怪的字符,例如œ而不是£。如果这是问题:找出文件的编码方式,并使用该编码打开它。

但是,如果您正在正确打开文件,并且想要将内容从œ更改为£,则只需执行字符串替换即可。示例如下(天真的方法,不是非常有效的内存,并且假设utf-8)

with open(csv_path) as csv_file:
    csv_contents = csv_file.read().decode('utf-8')
    csv_contents = csv_contents.replace(u'œ', u'£')
    # Do something with your csv...