gpt4 book ai didi

python - 使用 Python 在数据库中保留带有西类牙口音的记录

转载 作者:行者123 更新时间:2023-12-01 01:52:13 25 4
gpt4 key购买 nike

我需要清除西类牙语数据库,但要求我必须保留重音符号。

例如,如果数据库包含“Administración”和“Administracion”,我必须将它们识别为相等,但保留带有重音标记的那个。经过一番研究后,每个解决方案(例如将 Unicode 转换为 ASCII 或使用 PyEnchant)都会保留不带重音符号的解决方案。

是否有任何库(适用于 Python 3.5)或方法来确定正确的库并保留它?

最佳答案

注意事项

根据数据库的内容,这可能是一项不平凡的任务,因为尽管可能存在拼写错误:

  • *管理 管理

西类牙语中还有许多单词对仅在重音上有所不同,但都是有效单词:

  • ejército ejercito ejercitó |

如果您只考虑名词,这个数字会减少很多,大部分减少到 foreign loanwords具有不同的压力:

  • 贝斯波尔 贝斯波尔

和一些本地单词multiple spellings :

  • período periodo | reúma reuma
<小时/>

查询

如果您不太可能遇到此类情况,您可以使用以下 sql 查询:

SELECT a.word AS "Good word", b.word AS "Bad word"
FROM spanish_db AS a
JOIN spanish_db AS b

--Spanish words have at most one accent so can safely nest REPLACE
ON REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(a.word, "á", "a"),
"é", "e"),
"í", "i"),
"ó", "o"),
"u", "u") = b.word

--So as not to match identical words
AND a.word != b.word

这将返回出现重音和非重音形式的所有单词对。您可以根据需要进行调整以编辑/删除/清理条目。

<小时/>

示例

Good word       Bad word
"acedía" "acedia"
"aeróbic" "aerobic"
"aeróstato" "aerostato"
"afrodisíaco" "afrodisiaco"
"alcalá" "alcala"
"alvéolo" "alveolo"
"alérgeno" "alergeno"
"amoníaco" "amoniaco"
"anémona" "anemona"
"arcén" "arcen"

关于python - 使用 Python 在数据库中保留带有西类牙口音的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50607804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com