如何使用Python(编码参数)从字符串中删除重音符号?
我正在尝试删除csv文件中数据的重音符号。因此,我使用remove_accents函数(见下文),但为此,我需要用utf-8编码我的csv文件。 但是我得到一个错误,如何使用Python(编码参数)从字符串中删除重音符号?,python,Python,我正在尝试删除csv文件中数据的重音符号。因此,我使用remove_accents函数(见下文),但为此,我需要用utf-8编码我的csv文件。 但是我得到一个错误,“encoding”是此函数的无效关键字参数 我已经看到,我可能必须使用Python3,然后执行Python3./myscript.py? 这样做对吗?或者有没有其他方法可以在不安装python3的情况下消除口音? 任何帮助都将不胜感激 #!/usr/bin/env python import re import string
“encoding”是此函数的无效关键字参数
我已经看到,我可能必须使用Python3,然后执行Python3./myscript.py? 这样做对吗?或者有没有其他方法可以在不安装python3的情况下消除口音? 任何帮助都将不胜感激
#!/usr/bin/env python
import re
import string
import csv
import unicodedata
def remove_accents(data):
return ''.join(x for x in unicodedata.normalize('NFKD', data) if \
unicodedata.category(x)[0] == 'L').lower()
reader=csv.reader(open('infile.csv', 'r', encoding='utf-8'), delimiter='\t')
writer=csv.writer(open('outfile.csv', 'w', encoding='utf-8'), delimiter=',')
for line in reader:
if line[0] != '':
person=re.split(' ',line[0])
first_name = person[0].strip().upper()
first_name1=unicode(first_name)
first_name2=remove_accents(first_name1)
if len(person) == 2:
last_name=person[1].strip().upper()
line[0]=last_name
line[15]=first_name2
writer.writerow(line)
如果希望能够指定编码,则需要使用。另外,.(感谢您的回答)我现在有以下错误:UnicodeEncodeError:“ascii”编解码器无法对位置24处的字符u'\xa0'进行编码:序号不在范围内(128)似乎与