最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python結(jié)合WPS多維表實(shí)現(xiàn)在線批量查詞功能

 更新時(shí)間:2025年12月22日 09:17:03   作者:PythonFun  
Python是當(dāng)前人工智能時(shí)代最受歡迎的編程語言,越來越多的應(yīng)用程序把其整合到自身的功能當(dāng)中,WPS多維表就是最早接入Python代碼的應(yīng)用平臺(tái),下面我們就來看看如何在多維表中應(yīng)用Python代碼實(shí)現(xiàn)批量單詞查詢吧

一、引言

Python是當(dāng)前人工智能時(shí)代最受歡迎的編程語言,越來越多的應(yīng)用程序把其整合到自身的功能當(dāng)中,WPS多維表就是最早接入Python代碼的應(yīng)用平臺(tái)。當(dāng)Excel365還在為Python的功能收費(fèi)時(shí),我東大國產(chǎn)文字處理工具WPS已經(jīng)將這一功能免費(fèi)開放給全國用戶。本來多維表已經(jīng)是一場(chǎng)在線辦公領(lǐng)域的利器了,Python代碼更是為其添加了翅膀。下面以單詞查詢項(xiàng)目為例,簡(jiǎn)要介紹如何在多維表中應(yīng)用Python代碼,實(shí)現(xiàn)批量單詞查詢的。

二、實(shí)現(xiàn)方法

1.初始化配置

打開http://docs.wps.cn,創(chuàng)建多維表,設(shè)置單詞、音標(biāo)、詞義三個(gè)字段。為了明確提交人,可以在字段管理那里添加一個(gè)提交人,這樣提交查詢?nèi)蝿?wù)者就會(huì)顯示出來,如下圖所示:

2. 配置PY代碼

點(diǎn)擊頂部的【腳本】——【Py代碼】把下面的代碼放入其中

import requests, re, time, json

rec_ids = Context['argv']['rec_id']  # 改為復(fù)數(shù),獲取所有記錄ID
src_texts = Context['argv']['src_text']  # 改為復(fù)數(shù),獲取所有文本
url = 'http://api.niutrans.com/NiuTransServer/translation'
apikey = "c4e10095a8c951a6443789345c498e9a" #不保證能用,可以自己申請(qǐng)免費(fèi)的

def is_english_strict(text):
    if not text:
        return False
    english_chars = re.findall(r'[a-zA-Z]', text)
    if ' ' in english_chars:
        return False
    else:
        return len(english_chars) / len(text) > 0.7

def niu_trans(sentence, src_lan="auto", tgt_lan="zh"):
    data = {"from": src_lan, "to": tgt_lan, "apikey": apikey, "src_text": sentence}
    res = requests.post(url, data=data)
    res_dict = json.loads(res.text)
    if "tgt_text" in res_dict:
        result = res_dict['tgt_text']
    else:
        result = res.text
    return result

def translate(word):
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36"}
    url = r"https://dict.cn/search?q=" + word
    try:
        resp = requests.get(url, headers=headers, timeout=30).text
        phonetic = re.search('<bdo lang="EN-US">(.*?)</bdo>', resp)
        pattern = re.compile(r'<ul class="dict-basic-ul">(.*?)</ul>', re.DOTALL)
        matches = pattern.findall(resp)
        mean = []
        if matches:
            content = matches[0]
            meanings = re.findall(r'<li>.*?<span>(.*?)</span>.*?<strong>(.*?)</strong>.*?</li>', content, re.DOTALL)
            for part_of_speech, meaning in meanings:
                mean.append(f"{part_of_speech}{meaning}")
            word_info = {
                "單詞": word,
                "音標(biāo)": phonetic.group(1) if phonetic else "",
                "詞義": "".join(mean) if mean else ""
            }
            return word_info
    except Exception as e:
        return f"翻譯失敗: {str(e)}"

# 循環(huán)處理每一個(gè)記錄
for i in range(len(rec_ids)):
    rec_id = rec_ids[i]
    src_text = src_texts[i]
    
    try:
        df = dbt(sheet_name='數(shù)據(jù)表')
        if is_english_strict(src_text):
            info = translate(src_text)
            # 構(gòu)建數(shù)據(jù)記錄 - 使用字段名作為鍵
            record_data = {
                "_rid": rec_id,
                "音標(biāo)": info["音標(biāo)"] if isinstance(info, dict) else "",
                "詞義": info["詞義"] if isinstance(info, dict) else info
            }
        else:
            # 構(gòu)建數(shù)據(jù)記錄 - 使用字段名作為鍵
            record_data = {
                "_rid": rec_id,
                "詞義": niu_trans(src_text)
            }

        # 更新當(dāng)前記錄
        update_dbt(data=record_data, sheet_name='數(shù)據(jù)表')
        time.sleep(0.6)  # 每個(gè)記錄處理完后等待0.6秒
        
    except Exception as e:
        print(f"處理記錄 {rec_id} 失敗: {str(e)}")

print(f"? 批量處理完成,共處理了 {len(rec_ids)} 條記錄")

并修改其中apikey為你自己申請(qǐng)的小牛機(jī)器翻譯API,如下圖所示:

3. 配置自動(dòng)化流程

點(diǎn)擊自動(dòng)化流程,新建一個(gè)自動(dòng)化的流程:

首先設(shè)置一個(gè)觸發(fā)條件,也就是新增或修改記錄是觸發(fā)。

其次,在第二步中設(shè)置執(zhí)行PY代碼,在【選擇將要執(zhí)行的腳本文件】處設(shè)置要執(zhí)行的PY代碼,這個(gè)代碼就是之前在腳本里設(shè)置好的代碼。

接著要設(shè)置一下腳本入?yún)ⅲ袃蓚€(gè)參數(shù),一個(gè)是rec_id,是記錄的ID,另一個(gè)傳入PY代碼的是是單詞列的文本。

三、使用方法

1. 輸入查單詞

進(jìn)入數(shù)據(jù)表,在單詞列輸入單詞:

也可以新建一個(gè)表單視圖,共享給別人后,可以多人一起輸入生詞,一起協(xié)作。

2.導(dǎo)入查單詞

在數(shù)據(jù)表中,導(dǎo)入WPS表格,至少有一列,列名為單詞。再點(diǎn)擊數(shù)據(jù)表旁邊的三個(gè)點(diǎn),選擇【追加導(dǎo)入數(shù)據(jù)】,導(dǎo)入后,系統(tǒng)會(huì)自動(dòng)查詢單詞

3. 導(dǎo)出查詢結(jié)果

點(diǎn)擊表格視圖中右側(cè)三個(gè)點(diǎn),再點(diǎn)導(dǎo)出數(shù)據(jù),就可以把查詢的結(jié)果導(dǎo)出到本地Excel表中。

四、小結(jié)

在這個(gè)項(xiàng)目中,我們采用WPS多維表+Python爬蟲,通過調(diào)用小牛機(jī)器翻譯API或爬取網(wǎng)頁內(nèi)容的方法,并回填到多維表頁面上,實(shí)現(xiàn)了一個(gè)在線批量查字典的功能,不僅可以查單詞,還可以查詢短語。如果是短語就直接調(diào)用小牛機(jī)器翻譯進(jìn)行翻譯,如果是非英文的語言,直接用小牛機(jī)器翻譯自動(dòng)識(shí)別,然后翻譯成中文。

這個(gè)小項(xiàng)目可以用于課堂學(xué)生互動(dòng),讓學(xué)生錄入感覺較難的生詞,WPS多維表自動(dòng)計(jì)算它的頻次,根據(jù)頻次來講解學(xué)生認(rèn)為重要且較難的單詞。同時(shí)也可以作為個(gè)人記錄生詞的小工具,在后面添加日期后,字段設(shè)置不能重復(fù)錄入,用戶可以手機(jī)或電腦記錄每天遇到的生詞,而且數(shù)據(jù)本地和遠(yuǎn)程共享,非常方便。

到此這篇關(guān)于Python結(jié)合WPS多維表實(shí)現(xiàn)在線批量查詞功能的文章就介紹到這了,更多相關(guān)Python查詞內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中os.path.join函數(shù)的用法示例詳解

    Python中os.path.join函數(shù)的用法示例詳解

    這篇文章主要給大家介紹了關(guān)于Python中os.path.join函數(shù)用法的相關(guān)資料,os.path.join函數(shù)是Python標(biāo)準(zhǔn)庫中的一個(gè)函數(shù),用于將多個(gè)路徑組合成一個(gè)有效的路徑,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • Python基于正則表達(dá)式實(shí)現(xiàn)檢查文件內(nèi)容的方法【文件檢索】

    Python基于正則表達(dá)式實(shí)現(xiàn)檢查文件內(nèi)容的方法【文件檢索】

    這篇文章主要介紹了Python基于正則表達(dá)式實(shí)現(xiàn)檢查文件內(nèi)容的方法,可實(shí)現(xiàn)針對(duì)文件中import強(qiáng)制依賴的文件關(guān)系檢索,涉及Python文件目錄的遍歷及正則匹配相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • 詳解python--模擬輪盤抽獎(jiǎng)游戲

    詳解python--模擬輪盤抽獎(jiǎng)游戲

    這篇文章主要介紹了python模擬輪盤抽獎(jiǎng)游戲,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 解決Keras中CNN輸入維度報(bào)錯(cuò)問題

    解決Keras中CNN輸入維度報(bào)錯(cuò)問題

    這篇文章主要介紹了解決Keras中CNN輸入維度報(bào)錯(cuò)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Flask請(qǐng)求鉤子與上下文及異常處理分項(xiàng)精解

    Flask請(qǐng)求鉤子與上下文及異常處理分項(xiàng)精解

    這篇文章主要介紹了Flask請(qǐng)求鉤子與上下文及異常處理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-10-10
  • Python使用Scrapy抓取和解析網(wǎng)頁數(shù)據(jù)的方法

    Python使用Scrapy抓取和解析網(wǎng)頁數(shù)據(jù)的方法

    很多 Python 初學(xué)者學(xué)完基礎(chǔ)語法后,都會(huì)遇到一個(gè)很實(shí)際的問題:怎么把網(wǎng)頁里的數(shù)據(jù)穩(wěn)定地提取下來,變成自己能處理的結(jié)構(gòu)化數(shù)據(jù),Scrapy 是 Python 生態(tài)里非常經(jīng)典的爬蟲框架,本文給大家介紹了Python使用Scrapy抓取和解析網(wǎng)頁數(shù)據(jù)的方法,需要的朋友可以參考下
    2026-05-05
  • Python正確調(diào)用 jar 包加密得到加密值的操作方法

    Python正確調(diào)用 jar 包加密得到加密值的操作方法

    這篇文章主要介紹了Python 正確調(diào)用 jar 包加密得到加密值的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Django中的DateTimeField和DateField實(shí)現(xiàn)

    Django中的DateTimeField和DateField實(shí)現(xiàn)

    這篇文章主要介紹了Django中的DateTimeField和DateField實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Django 博客實(shí)現(xiàn)簡(jiǎn)單的全文搜索的示例代碼

    Django 博客實(shí)現(xiàn)簡(jiǎn)單的全文搜索的示例代碼

    這篇文章主要介紹了Django 博客實(shí)現(xiàn)簡(jiǎn)單的全文搜索的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Python基礎(chǔ)語法:變量、常量與表達(dá)式實(shí)戰(zhàn)案例

    Python基礎(chǔ)語法:變量、常量與表達(dá)式實(shí)戰(zhàn)案例

    這段文章詳細(xì)介紹了Python編程中的三大基礎(chǔ)概念:變量、常量與表達(dá)式,文章通過實(shí)例講解了變量的定義、命名規(guī)則及使用方法,強(qiáng)調(diào)了常量的命名規(guī)范和表達(dá)式的的基本組成,感興趣的朋友一起看看吧
    2026-06-06

最新評(píng)論

河东区| 体育| 潞城市| 芦山县| 疏附县| 邛崃市| 大冶市| 沭阳县| 大同县| 策勒县| 方城县| 抚顺市| 嵩明县| 南澳县| 克东县| 武穴市| 乌拉特后旗| 金乡县| 安仁县| 崇仁县| 北辰区| 沅江市| 彭阳县| 山阴县| 黑水县| 库尔勒市| 民勤县| 巧家县| 任丘市| 黄冈市| 怀来县| 监利县| 陕西省| 鱼台县| 望城县| 论坛| 宁河县| 文成县| 滁州市| 龙州县| 揭阳市|