代码之家  ›  专栏  ›  技术社区  ›  warren

使用Python插入之前,请检查MySQL表中不存在的字符串

  •  0
  • warren  · 技术社区  · 5 年前

    在Python脚本中进行标记化之后,我试图只将字符串中的某些值插入到表中(即排除常用词)。

    传入的字符串可能看起来像“这是一个我要解析的字符串,因为它提到了IOT”。在这些单独的标记/单词中,我想排除“this”“is”“a”“I”“want”等内容,但应该保留“string”“parse”等不太常见的标记。

    目前,我计划有一个表的共同词,我可以参考。

    能够 做一些像 INSERT $term$ WHERE NOT IN(SELECT * FROM excludedterm) ,似乎应该有一个比每个术语构建查询更简单的方法(因此,应该对每个术语单独检查数据库)。

    有没有一种蟒蛇式的方法可以和 NOT IN()... excludes 将表放入一个列表中,然后用某种 NOT IN($list$) 格式?

    1 回复  |  直到 5 年前
        1
  •  2
  •   Mithilesh_Kunal    5 年前

    你可以 预处理

    在开始时,从common表中读取所有单词并填充 ignore

    inp = "this is a string I want to parse because it mentions IOT"
    ignored =  ['this', 'is', 'are', 'a', 'to','it','from']
    result = [item for item in inp.split() if item not in ignored]
    print(result)
    

    将所有忽略的术语添加到 ignored 列表。在这里,我们使用列表理解来计算 result . 我们可以选择使用 for

    这个 结果