欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)批量替換Excel中字符

 更新時(shí)間:2024年11月18日 08:55:12   作者:PythonFun  
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)批量替換Excel中字符,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

一、問(wèn)題由來(lái)

聚會(huì)計(jì)劃一些菜品,現(xiàn)根據(jù)實(shí)際需要把B列中一些菜品更換一些,替換成C列中的菜品,最終結(jié)果寫(xiě)到E列當(dāng)中,如下圖效果所示。

問(wèn)題示意圖

二、解決辦法

本人經(jīng)過(guò)思考,考慮到這是一個(gè)批量替換的問(wèn)題,我們需要先找到更換的菜品,在原計(jì)劃菜品中定位,然后更換為新菜品,手工復(fù)制粘貼極其麻煩,這時(shí)可以考慮在WPS當(dāng)中使用substitutes進(jìn)行批量替換。在Excel中沒(méi)有stubstitutes這個(gè)函數(shù),可以考慮使用vlookup函數(shù)。

如果是在線表格,還可以在WPS當(dāng)中使用Python來(lái)解決這個(gè)問(wèn)題。

1. substitutes函數(shù)

其語(yǔ)法是substitutes(目標(biāo)數(shù)據(jù)列,原數(shù)據(jù)列,新數(shù)據(jù)列)

這是目標(biāo)數(shù)據(jù)列是A2:A19,原數(shù)據(jù)列是B2:B4, 新數(shù)據(jù)列是C2:C4。

我們可以在E2中輸入以下公式,回車即可:

=substitutes(A2:A19,B2:B4,C2:C4)

這種解法,思路清晰,操作簡(jiǎn)單,易不易記,推薦。當(dāng)然如果B2:B4和C2:C4不在當(dāng)前工作表,也可以跨表引用,這樣可以實(shí)現(xiàn)數(shù)據(jù)的跨表分離,適用于進(jìn)行大量數(shù)據(jù)的替換。

這里要注意的時(shí),替換的內(nèi)容不要重復(fù),否則就會(huì)容易適成混亂。

2. vlookup函數(shù)法

在Excel中沒(méi)有substitutes,只有substitute, 所以考慮可以使用iferror+vlookup的方法來(lái)解決這個(gè)問(wèn)題。

首先要明確:

  • A列:聚會(huì)計(jì)劃菜單
  • B列:原菜品
  • C列:替換菜品

假設(shè)您希望在 E列 中輸出替換后的菜品,您可以使用以下公式:

=IFERROR(VLOOKUP(A2, B:C, 2, FALSE), A2)

公式解釋:

A2:聚會(huì)計(jì)劃菜單中的菜品(假設(shè)從 A2 開(kāi)始)。

B:C:包含原菜品和替換菜品的表格區(qū)域。

數(shù)字2表示我們要從 B 和 C 列的第二列(即“替換菜品”列)提取替換菜品。

FALSE:確保精確匹配原菜品。

IFERROR:如果沒(méi)有找到對(duì)應(yīng)的替換菜品,則返回原菜品(即 A2)。

E2填寫(xiě)完后,再選中右下角十字,雙擊填充即可。

3. 在線Python法

最新的wps在線文檔已經(jīng)支持調(diào)用Python代碼,我們可以使用以下代碼實(shí)現(xiàn)。由于在線文檔已經(jīng)把常用的模塊導(dǎo)入,所以我們不必導(dǎo)入pandas模塊,直接寫(xiě)代碼。

# 讀取 Excel 數(shù)據(jù)
df = xl("$A$42:$A$59", headers=None, sheet_name="Sheet1")
 
replacement_dict = {}
for row in range(42, len(df)):
    original = df[row][1]  # 假設(shè)原菜品在第二列(索引為1)
    replacement = df[row][2]  # 假設(shè)替換菜品在第三列(索引為2)
    replacement_dict[original] = replacement
# 初始化起始寫(xiě)入位置
start_row = 42
print(replacement_dict)
for text in df[0]:  # 假設(shè)聚會(huì)計(jì)劃菜單在第一列(索引為0)
    try:
        # 查找是否有對(duì)應(yīng)的替換菜品
        if text in replacement_dict:
            new_text = replacement_dict[text]  # 如果有替換菜品,使用替換菜品
        else:
            new_text = text  # 否則保持原菜品
        write_xl(new_text,f"$E${start_row}",sheet_name="Sheet1")
    except Exception as e:
        # 發(fā)生錯(cuò)誤時(shí)寫(xiě)入“查無(wú)此詞”
        write_xl("查無(wú)此詞", f"$B${start_row}", sheet_name="Sheet1")
    start_row+=1

Python的思路時(shí),先讀取表格,建立一個(gè)新舊菜名的字典,然后遍歷A列,應(yīng)用字典,再寫(xiě)入到指定列即可。

其中xl()是在wps中讀取表的函數(shù),write_xl是寫(xiě)入表的函數(shù),這是與普通pandas模塊不一樣的。

4. 線下Python法

如果是線下python,就可以使用pandas模塊來(lái)解決這個(gè)問(wèn)題。通過(guò)讀取you_file.xlsx文件,然后創(chuàng)建字典,替換后生成update_menu.xlsx。這種方法適用于數(shù)據(jù)量多的情況。如果替換的文件比較多,可以考慮把字典內(nèi)容單獨(dú)放,這樣就變成了批量的讀取字典,替換Excel文件的功能了。

import pandas as pd
 
# 讀取Excel文件中的數(shù)據(jù)
df = pd.read_excel('your_file.xlsx', sheet_name='Sheet1')
 
# 假設(shè)您的Excel中有3列:聚會(huì)計(jì)劃菜單、原菜品、替換菜品
# df.columns = ['聚會(huì)計(jì)劃菜單', '原菜品', '替換菜品']
 
# 創(chuàng)建一個(gè)字典來(lái)映射原菜品到替換菜品
replacement_dict = dict(zip(df['原菜品'], df['替換菜品']))
 
# 假設(shè)在聚會(huì)計(jì)劃菜單中需要替換的是原菜品
def replace_dishes(menu):
    # 如果菜單中的菜品在字典中找到,則替換為對(duì)應(yīng)的替換菜品
    return replacement_dict.get(menu, menu)
 
# 假設(shè)您的菜單數(shù)據(jù)存儲(chǔ)在 "聚會(huì)計(jì)劃菜單" 這一列
df['聚會(huì)計(jì)劃菜單'] = df['聚會(huì)計(jì)劃菜單'].apply(replace_dishes)
 
# 將更新后的DataFrame保存到新的Excel文件
df.to_excel('updated_menu.xlsx', index=False, sheet_name='UpdatedSheet')

三、學(xué)后總結(jié)

1. 不同場(chǎng)景需要的不同的解決辦法,不同的方法各有優(yōu)劣。WPS中用substitutes, Excel中用vlookup,如果數(shù)據(jù)量較大,可以考慮用python。

2. 在數(shù)據(jù)量較少的情況下,wps的公式甚至比py執(zhí)行效率還高。但是如果是幾十個(gè)文件,替換的內(nèi)容成百上千時(shí),用線下的python代碼進(jìn)行替換就方便了。

3. 這是一個(gè)菜品替換小項(xiàng)目,如果換成翻譯中的術(shù)語(yǔ)替換,也可以采用同樣的操作,推薦使用substitutes,因?yàn)檫@個(gè)函數(shù)簡(jiǎn)單易于理解。

到此這篇關(guān)于Python實(shí)現(xiàn)批量替換Excel中字符的文章就介紹到這了,更多相關(guān)Python批量替換Excel字符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決python2 繪圖title,xlabel,ylabel出現(xiàn)中文亂碼的問(wèn)題

    解決python2 繪圖title,xlabel,ylabel出現(xiàn)中文亂碼的問(wèn)題

    今天小編就為大家分享一篇解決python2 繪圖title,xlabel,ylabel出現(xiàn)中文亂碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 10個(gè)Python小技巧你值得擁有

    10個(gè)Python小技巧你值得擁有

    這篇文章主要介紹了10個(gè)Python小技巧,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • Python 常用模塊 re 使用方法詳解

    Python 常用模塊 re 使用方法詳解

    這篇文章主要介紹了Python 常用模塊 re 使用方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • opencv?傅里葉變換的實(shí)現(xiàn)

    opencv?傅里葉變換的實(shí)現(xiàn)

    本文主要介紹了opencv?傅里葉變換,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2022-06-06
  • 用python實(shí)現(xiàn)彈球小游戲

    用python實(shí)現(xiàn)彈球小游戲

    大家好,本篇文章主要講的是用python實(shí)現(xiàn)彈球小游戲,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • 詳解Python中的GIL(全局解釋器鎖)詳解及解決GIL的幾種方案

    詳解Python中的GIL(全局解釋器鎖)詳解及解決GIL的幾種方案

    這篇文章主要介紹了詳解Python中的GIL(全局解釋器鎖)詳解及解決GIL的幾種方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python里的單引號(hào)和雙引號(hào)的有什么作用

    python里的單引號(hào)和雙引號(hào)的有什么作用

    在本篇文章里小編給大家分享的是一篇關(guān)于python里的單引號(hào)和雙引號(hào)的作用的相關(guān)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • 一文教會(huì)你用Python獲取網(wǎng)頁(yè)指定內(nèi)容

    一文教會(huì)你用Python獲取網(wǎng)頁(yè)指定內(nèi)容

    Python用做數(shù)據(jù)處理還是相當(dāng)不錯(cuò)的,如果你想要做爬蟲(chóng),Python是很好的選擇,它有很多已經(jīng)寫(xiě)好的類包,只要調(diào)用即可完成很多復(fù)雜的功能,下面這篇文章主要給大家介紹了關(guān)于Python獲取網(wǎng)頁(yè)指定內(nèi)容的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 詳解Python中string模塊除去Str還剩下什么

    詳解Python中string模塊除去Str還剩下什么

    這篇文章主要介紹了詳解Python中string模塊除去Str還剩下什么,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python 異常處理總結(jié)

    Python 異常處理總結(jié)

    閱讀本篇文章以學(xué)習(xí) Python 異常處理。它應(yīng)該可以幫助您了解如何在程序中使用 try、except 和 finally 語(yǔ)句。下面跟著小編一起來(lái)學(xué)習(xí)文章內(nèi)容吧
    2021-09-09

最新評(píng)論