python - 如何使用 Python NLP 从数据库表中提取与搜索字符串中的关键字匹配的关键字
问题描述
我有一个带有“Neon”表的数据库。我正在尝试获取与搜索字符串相关的表“Neon”相关的所有关键字。
例子:
Neon Records:
POLICY_NUM DAYS_TO_BOUND
0170254497 PL Rating
0755698054 PL Rating
1525668307 PL Rating
1525668312 Air
1525668314 Java
1525668356 Sand
我有一个搜索字符串
"Save the day by Sand and Java"
我想得到类似的结果
['Sand':'1525668356','Java':'1525668314']
Trails Done 正在连接到数据库并提取表数据
import pandas as pd
import logging
import config
from sqlalchemy import create_engine # install mysqlConnector and PyMySql
def db_connection():
"""
:return:
"""
try:
engine = create_engine('mysql+pymysql://{0}:{1}@{2}/{3}'.format(config.database_config['user'],
config.database_config['password'],
config.database_config['host'],
config.database_config['database']))
return engine
except Exception as e:
logging.info(e)
finally:
pass
def extract_table(query):
"""
:param query:
:return:
"""
engine = db_connection()
sql_select_query = query
details = pd.read_sql(sql_select_query, engine)
return details
database_query = {
'select_query_for_data': 'select * from Neon'
}
请让我知道您对此的看法。
解决方案
你在找这个吗?
DECLARE @DataSource TABLE
(
[POLICY_NUM] VARCHAR(16)
,[DAYS_TO_BOUND] VARCHAR(16)
);
INSERT INTO @DataSource ([POLICY_NUM], [DAYS_TO_BOUND])
VALUES ('0170254497', 'PL Rating')
,('0755698054', 'PL Rating')
,('1525668307', 'PL Rating')
,('1525668312', 'Air')
,('1525668314', 'Java')
,('1525668356', 'Sand');
DECLARE @DataString VARCHAR(4000) = 'Save the day by Sand and Java';
DECLARE @DataStringXML XML = '<a>' + REPLACE(@DataString, ' ', '</a><a>') + '</a>';
WITH DataSource ([rowID], [rowValue]) AS
(
SELECT ROW_NUMBER() OVER (ORDER BY T.c ASC)
,T.c.value('.', 'VARCHAR(256)')
FROM @DataStringXML.nodes('a') T(c)
)
SELECT '[' + STUFF
(
(
SELECT ',' + '''' + V.[rowValue] + ''':''' + D.[POLICY_NUM] + ''''
FROM DataSource V
INNER JOIN @DataSource D
ON V.[rowValue] = D.[DAYS_TO_BOUND]
ORDER BY V.[rowID]
FOR XML PATH(''), TYPE
).value('.', 'VARCHAR(MAX)')
,1
,1
,''
) + ']'
它产生:
['Sand':'1525668356','Java':'1525668314']
推荐阅读
- python-3.x - 使用 Heroku CLI 将更改推送到 Python/Flask 应用程序后使用代码修改文件路径导致 FileNotFoundError:[Errno 2]
- vb.net - 用箭头键移动图片框?
- android - 是否有一种与设备无关的方式来处理 Android 中简单的重复推送通知?
- python - 如何在输入中找到随机数?
- angular - 使用 Observables 从 Firebase 错误中检索数据
- java - 如何在列中打印数组数据
- oracle - 使用 Toad 在 PL/SQL 中进行数据迁移
- firebase - flutter 刷新firebase的用户token,以便访问firebase实时数据库。(一段时间内)
- python - Google 语音转文本 API 结果为空
- eclipse - 使用 maven 多模块、spring boot 和 IntelliJ