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

Python使用openpyxl設置Excel單元格公式和工作簿合并

 更新時間:2025年11月03日 09:33:00   作者:Humbunklung  
這篇文章主要介紹了如何使用Python的openpyxl庫在Excel單元格中設置公式,并展示了如何引用其他工作簿中的單元格內容以及如何合并多個工作簿,需要的朋友可以參考下

Python openpyxl 設置Excel單元格公式和工作簿合并

在 Python 的 openpyxl 庫中,為 Excel 單元格設置公式的方法是直接將公式字符串賦值給單元格的 .value 屬性。公式必須以等號 (=) 開頭。

安裝 openpyxl

如果尚未安裝 openpyxl,可以使用以下命令進行安裝:

pip install openpyxl

或使用uv

uv add openpyxl

Excel 單元格中設置公式

與我們日常使用Excel相同,所有的單元格公式都需要以“=”號開頭。

代碼示例

下面是一個示例代碼,展示如何創(chuàng)建一個新的工作簿,在單元格中設置公式,并保存工作簿:

from openpyxl import Workbook
# 創(chuàng)建一個新的工作簿和活動工作表
wb = Workbook()
ws = wb.active

# 為 A1 和 B1 單元格設置數(shù)值
ws['A1'] = 10
ws['B1'] = 5

# 為 C1 單元格設置公式,計算 A1 和 B1 的和
ws['C1'] = '=SUM(A1:B1)'

# 為 D1 單元格設置另一個公式,計算 A1 除以 B1 的結果并保留兩位小數(shù)
ws['D1'] = '=ROUND(A1/B1, 2)'

# 保存工作簿
wb.save('formula_example.xlsx')

print("已成功為單元格設置公式并保存到 formula_example.xlsx")

步驟詳解

  • 導入庫并打開工作簿:首先,導入 openpyxl 庫,然后創(chuàng)建一個新的工作簿或打開一個現(xiàn)有的工作簿。
  • 選擇單元格:使用工作表對象(例如 ws)的方括號表示法,并傳入單元格的地址(如 ‘A1’)來選擇目標單元格。
  • 設置公式字符串:將以等號開頭的 Excel 公式作為字符串賦值給選定單元格的 .value 屬性。例如,ws[‘A1’] = ‘=SUM(B1:C1)’。
  • 保存文件:使用 wb.save() 方法將修改后的工作簿保存為 .xlsx 文件。

運行上述代碼后,我們將得到一個名為 formula_example.xlsx 的 Excel 文件,其中 C1 單元格包含計算 A1 和 B1 之和的公式。請注意,Excel 需要打開文件后才能計算并顯示公式的結果。

公式中包含別的工作簿中的內容

有時候,我們需要引用別的工作簿中的單元格內容作為公式的一部分。可以使用以下語法:

='[workbook_name.xlsx]sheet_name'!cell_reference

代碼示例

from openpyxl import Workbook
# 創(chuàng)建一個新的工作簿和活動工作表
wb = Workbook()
ws = wb.active
# 為 A1 和 B1 單元格設置數(shù)值
ws['A1'] = 10
ws['B1'] = 5
# 為 C1 單元格設置公式,引用另一個工作簿中的單元格
ws['C1'] = "='[other_workbook.xlsx]Sheet'!A1 + '[other_workbook.xlsx]Sheet'!B1"
# 保存工作簿
wb.save('formula_with_external_reference.xlsx')
print("已成功為單元格設置引用外部工作簿的公式并保存到 formula_with_external_reference.xlsx")

步驟詳解

  • 引用外部工作簿:在公式字符串中使用上述語法,確保工作簿名稱、工作表名稱和單元格引用正確無誤。
  • 保存文件:同樣使用 wb.save() 方法將工作簿保存為 .xlsx 文件。

運行上述代碼后,我們將得到一個名為 formula_with_external_reference.xlsx 的 Excel 文件,其中 C1 單元格包含引用另一個工作簿中 A1 和 B1 單元格內容的公式。請注意,Excel 需要打開這個文件本身以及被引用的工作簿文件,才能正確計算和顯示公式的結果。

使用openpyxl 合并多個工作簿

從上面的示例可見,不打開被引用的工作簿,是無法正確得到所需要的公式的,那么,把需要引用的工作簿的對應工作表,整合到一個工作簿當中,那么單元格引用的問題,就變成了本工作簿的“內部問題”了。

代碼示例

而在處理多個工作簿時,openpyxl 提供了方便的方法來合并它們的內容。以下是一個示例代碼,展示如何將多個工作簿的內容合并到一個新的工作簿中:

from openpyxl import load_workbook, Workbook
import os

def merge_sheets(source_files, target_file, sheet_index=0):
    '''
    合并多個Excel文件中的指定工作表到一個新的Excel文件中。
    參數(shù):
        source_files: 包含源Excel文件路徑的列表。
        target_file: 目標Excel文件的路徑。
        sheet_index: 要合并的工作表的索引,默認為0(第一個工作表)。
    '''
    # 創(chuàng)建一個新的工作簿作為目標文件
    target_wb = Workbook()
    # 刪除默認創(chuàng)建的第一個工作表,因為我們稍后會添加自己的
    if 'Sheet' in target_wb.sheetnames:
        del target_wb['Sheet']

    for file in source_files:
        if not os.path.exists(file):
            print(f"文件 {file} 不存在,跳過。")
            continue
        # 目標工作簿中創(chuàng)建對應的表
        target_ws = target_wb.create_sheet(title=os.path.splitext(os.path.basename(file))[0])
        # 加載源工作簿
        source_wb = load_workbook(filename=file)
        source_ws = source_wb.worksheets[sheet_index]

        # 復制源工作表的數(shù)據(jù)到目標工作表
        current_row = 1
        for row in source_ws.iter_rows(values_only=True):
            for col_index, value in enumerate(row, start=1):
                target_ws.cell(row=current_row, column=col_index, value=value)
            current_row += 1

    # 保存合并后的工作簿
    target_wb.save(target_file)
    print(f"已成功合并工作表并保存到 {target_file}")

# 示例用法
if __name__ == "__main__":
    source_files = []
    for i in range(1, 4):
        source_files.append(f'./data/快遞價格{i}.xlsx')
    target_file = 'merged_sheets.xlsx'
    merge_sheets(source_files, target_file)

步驟詳解

  • 加載工作簿:使用 load_workbook() 函數(shù)加載每個源工作簿。
  • 創(chuàng)建目標工作簿:使用 Workbook() 創(chuàng)建一個新的工作簿作為目標文件。
  • 復制數(shù)據(jù):遍歷源工作表的行和列,將數(shù)據(jù)復制到目標工作表中。
  • 保存文件:使用 target_wb.save() 方法將合并后的工作簿保存為 .xlsx 文件。

運行效果

運行上述代碼后,我們將得到一個名為 merged_sheets.xlsx 的 Excel 文件:

總結

通過上述方法,我們可以輕松地在 Excel 單元格中設置公式,并且可以引用其他工作簿中的單元格內容。使用 openpyxl 庫,我們還可以將多個工作簿的內容合并到一個新的工作簿中,方便進行數(shù)據(jù)處理和分析。

以上就是Python使用openpyxl設置Excel單元格公式和工作簿合并的詳細內容,更多關于Python openpyxl設置Excel單元格公式和合并的資料請關注腳本之家其它相關文章!

相關文章

  • 如何基于Python實現(xiàn)電子郵件的發(fā)送

    如何基于Python實現(xiàn)電子郵件的發(fā)送

    這篇文章主要介紹了如何基于Python實現(xiàn)電子郵件的發(fā)送,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • python的tkinter布局之簡單的聊天窗口實現(xiàn)方法

    python的tkinter布局之簡單的聊天窗口實現(xiàn)方法

    這篇文章主要介紹了python的tkinter布局之簡單的聊天窗口實現(xiàn)方法,對于tkinter用法做了初步的介紹與應用展示,需要的朋友可以參考下
    2014-09-09
  • Python實現(xiàn)根據(jù)日期獲取當天凌晨時間戳的方法示例

    Python實現(xiàn)根據(jù)日期獲取當天凌晨時間戳的方法示例

    這篇文章主要介紹了Python實現(xiàn)根據(jù)日期獲取當天凌晨時間戳的方法,涉及Python針對日期與時間戳的相關轉換、運算等操作技巧,需要的朋友可以參考下
    2019-04-04
  • python網絡編程學習筆記(三):socket網絡服務器

    python網絡編程學習筆記(三):socket網絡服務器

    服務器和客戶端程序很類似,上節(jié)學習了客戶端程序,這一節(jié)將仔細學習一下利用socket建立TCP服務器和UDP服務器
    2014-06-06
  • Pytorch如何打印與Keras的model.summary()類似的輸出(最新推薦)

    Pytorch如何打印與Keras的model.summary()類似的輸出(最新推薦)

    這篇文章主要介紹了Pytorch如何打印與Keras的model.summary()類似的輸出,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • python寫入已存在的excel數(shù)據(jù)實例

    python寫入已存在的excel數(shù)據(jù)實例

    下面小編就為大家分享一篇python寫入已存在的excel數(shù)據(jù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python中列表索引 A[ : 2 ]與A[ : , 2]的區(qū)別說明

    Python中列表索引 A[ : 2 ]與A[ : ,&nb

    這篇文章主要介紹了Python中列表索引 A[ : 2 ]與A[ : , 2]的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • PyCharm安裝Markdown插件的兩種方法

    PyCharm安裝Markdown插件的兩種方法

    Markdown是一種可以使用普通文本編輯器編寫的標記語言,通過簡單的標記語法,它可以使普通文本內容具有一定的格式。這篇文章主要介紹了PyCharm安裝Markdown插件的兩種方法,需要的朋友可以參考下
    2019-06-06
  • Python2/3中urllib庫的一些常見用法

    Python2/3中urllib庫的一些常見用法

    Urllib庫是Python中的一個功能強大、用于操作URL,并在做爬蟲的時候經常要用到的庫。下面這篇文章主要給大家介紹了關于Python2/3中urllib庫的一些常見用法的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-12-12
  • PyTorch中torch.argmax函數(shù)的使用

    PyTorch中torch.argmax函數(shù)的使用

    torch.argmax 是一個高效的工具,廣泛應用于分類模型預測、指標計算等場景,下面就來介紹一下PyTorch中torch.argmax函數(shù)的使用,感興趣的可以了解一下
    2025-05-05

最新評論

沅江市| 凌海市| 柘荣县| 安陆市| 灯塔市| 南开区| 成武县| 双江| 广河县| 溧水县| 福州市| 高雄县| 明水县| 林口县| 湖北省| 蒙山县| 平定县| 道真| 肥乡县| 兴国县| 同心县| 廉江市| 莱西市| 邹城市| 太仆寺旗| 利川市| 涡阳县| 土默特左旗| 永定县| 鄂温| 奉节县| 长乐市| 普陀区| 邵东县| 乐都县| 行唐县| 包头市| 中卫市| 巍山| 公主岭市| 喀喇沁旗|