我正在将一个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.("œ", "£")
时它不起作用
答案 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...