Python 3.x 如何使用python以简单字母转换iso 8859-1
我正在尝试使用python清理sqlite数据库。首先,我使用以下代码加载: 导入sqlite3,作为pd con=sqlite3.connect(“DATABASE.db”) 所以我听到了脏话。例如,这个“Conciliaci\363n”我想得到“Conciliacion”。我使用了以下代码:Python 3.x 如何使用python以简单字母转换iso 8859-1,python-3.x,pandas,sqlite,iso-8859-1,Python 3.x,Pandas,Sqlite,Iso 8859 1,我正在尝试使用python清理sqlite数据库。首先,我使用以下代码加载: 导入sqlite3,作为pd con=sqlite3.connect(“DATABASE.db”) 所以我听到了脏话。例如,这个“Conciliaci\363n”我想得到“Conciliacion”。我使用了以下代码: df['TITLE']=df['TITle'].apply(lambda x: x.decode('iso-8859-1').encode('utf8')) 我在空白单元格里得到了b。还有“调解”\\
df['TITLE']=df['TITle'].apply(lambda x: x.decode('iso-8859-1').encode('utf8'))
我在空白单元格里得到了b。还有“调解”\\363n。所以也许我做错了。我怎样才能解决这个问题。提前感谢。不清楚,但如果字符串包含文字反斜杠和如下数字: s=r“Conciliaci\363n”#用于生成文本转义码的原始字符串 >>> “Conciliaci\\363n”#调试显示的字符串显示转义的反斜杠 >>>印刷品 Conciliaci\363n#打印转义 然后这将正确解码:
>s.encode('ascii')。解码('unicode-escape')#转换为字节字符串,然后解码
“和解”
如果您想如问题所示丢失重音符号,则分解Unicode字符串,转换为ASCII忽略错误,然后转换回Unicode字符串即可:
s2=s.encode('ascii')。decode('unicode-escape'))
>>>s2
“和解”
>>>将Unicode数据作为ud导入
>>>ud.normalize('NFD',s2)#生成Unicode分解形式
“Conciliación”现在是ASCII“o”和组合重音
>>>ud.normalize('NFD',s2.)。encode('ascii',errors='ignore')。decode('ascii'))
“Conciliacion”#重音不是ASCII,因此被删除
str(“Conciliaci\363n”)
是否为您提供了“Conciliación”
?非常感谢Mark Tolonen的帮助。成功了。
df['TITLE']=df['TITle'].apply(lambda x: x.decode('iso-8859-1').encode('utf8'))