python 基于gazeeter在OpenRefine中检测比利时城市名称的Jython天真方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 基于gazeeter在OpenRefine中检测比利时城市名称的Jython天真方法相关的知识,希望对你有一定的参考价值。

import sys
sys.path.append(r'D:\jython2.7.0\Lib\site-packages')
from unidecode import unidecode

#TEST
value = "carette leuven"


with open(r"C:\Users\Boulot\Desktop\communes.tsv", 'r', encoding="utf8") as f:
    lieux = [unidecode(name.strip().lower().replace("-", " ")) for name in f]

valeurs = "".join(unidecode(c.lower()) for c in value).strip().split(' ')

liste = []

joint_locations = ["le", "la", "les", "lez", "saint", "s", "t"]

for i, tokens in enumerate(valeurs):
    try:
        if tokens in lieux:
            liste.append(tokens)
        elif tokens in joint_locations:
            tokens = tokens + " " + valeurs[i+1]
        elif valeurs[i+1] in joint_locations:
            tokens = tokens + " " + valeurs[i+1] + " " + valeurs[i+2]
        if tokens in lieux:
            liste.append(tokens)
    except IndexError:
        pass

liste = set(liste)
print("||".join(liste))

以上是关于python 基于gazeeter在OpenRefine中检测比利时城市名称的Jython天真方法的主要内容,如果未能解决你的问题,请参考以下文章

《基于Python的DevOps实战》专栏目录明细

基于Python的SQLAlchemy的操作

如何在 Linux 上管理基于 Python 的守护进程?

selenium的安装教程(基于Python)

在macos上基于python2.7安装PyQt5

什么python框架战术开源项目基于?