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

2024-09-27 21:31:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在将CSV文件解析为python,但需要将字符替换为,如何通过添加:

#!/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.("œ", "£")时,它不起作用

有人能帮忙吗?谢谢


Tags: 文件csvinfordatabinusr符号
1条回答
网友
1楼 · 发布于 2024-09-27 21:31:21

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...

相关问题 更多 >

    热门问题