注意:本文使用的是jupyter做演示。
(1)、jupyter notebook安裝
pip install jupyter notebook(2)、whoosh安裝jupyter notebook命令在相應的目錄下啟動即可
pip install whoosh(3)、jieba分詞器安裝----->目前最火最叼的中文分詞器
pip install jieba
import pandas as pd
data = [,,,
,,,,
]frame = pd.dataframe(data)
from whoosh.fields import schema, text, id
from jieba.analyse import chineseanalyzer
# jieba中文分詞器
analyzer = chineseanalyzer()
schema = schema(t=id(stored=true, unique=true),
d1=text(stored=true, analyzer=analyzer),
d2=text(stored=true)
)
import os.path
from whoosh.index import create_in
# 建立索引的路徑,也就是存放的位置
index_path = '/home/sjp/gitproject/test_data'
if not os.path.exists(index_path):
os.mkdir(index_path)
ix = create_in(index_path, schema)
from whoosh import index
index_path = '/home/sjp/gitproject/tests/test_data'
ix = index.open_dir(index_path)
with ix.writer() as writer:
for _, row in frame.iterrows():
elements =
# 我用的是update,後期可以更新
writer.update_document(**elements)
from whoosh.qparser import multifieldparser, operatorsplugin
from whoosh import query
ix = index.open_dir(index_path)
# multifieldparser這個是多字段查詢
query_parser = multifieldparser(['t', 'd1', 'd2'], schema=ix.schema)
# query_parser.add_plugin(fuzzytermplugin()) 這個是支援模糊查詢
search_pattern = query_parser.parse(u'國')
with ix.searcher() as searcher:
# 介個是limit=none是查詢所有
result = searcher.search(search_pattern, limit=20)
# 介個是支援分頁查詢
# result = searcher.search_page(search_pattern, 1, pagelen=20)
for _ in result:
print _.values()
後記:正所謂先把程式跑起來,再去看文件做優化,這才是最快的學習方式------>自我觀點。
所以呢此處貼上中文文件供各位參考:
python日曆教程 基於python實現簡單日曆
首先要理清楚邏輯,日曆的難點在於如何使用基礎知識將周幾與對應的日期進行對應,我這裡利用了1917年1月1日為星期1,計算累計到我們要查詢的月份的天數來確定所查詢月份的第一天為週幾.輸出日曆介面 print 50 print 歡迎使用 天天日曆 v2.0 接收使用者輸入的年份 year int int...
Python 基於Python實現批量建立目錄
基於python實現批量建立目錄 by 授客qq 1033553122 測試環境 python 版本 python 2.7 實踐 usr bin env python coding utf 8 author shouke import os class publictools def init se...
Python基於template實現字串替換
下面介紹使用python字串替換的方法 1.字串替換 將需要替換的內容使用格式化符替代,後續補上替換內容 template hello s your website is s 大cc print template 也可使用format函式完成 template 程式設計客棧 hello your w...