亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

如何用python復制粘貼excel指定單元格(可保留格式)

 更新時間:2023年07月14日 09:02:44   作者:鄉(xiāng)村大師i  
這篇文章主要給大家介紹了關(guān)于如何用python復制粘貼excel指定單元格(可保留格式)的相關(guān)資料,利用python操作excel非常方便,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

近期學習了openpyxl的用法,發(fā)現(xiàn)居然沒有【復制、粘貼】這么基礎(chǔ)的函數(shù)。而且若要用python帶格式復制粘貼指定區(qū)域的單元格,參考資料更少。

于是參考各路大佬的筆記,整合如下。

本代碼只完成一次復制粘貼,各位可根據(jù)自己的需要加以利用,比如:可搭配遍歷文件等實現(xiàn)多個excel中指定區(qū)域的復制,并匯總于指定區(qū)域的內(nèi)容。

# 復制區(qū)域cell、帶格式粘貼: 比如把a1:f16帶格式復制粘貼到h23:m38
 
#導入包
import openpyxl
import copy
 
#path單引號內(nèi)放入指定要操作的excel的路徑 (本文舉例的復制與粘貼,位于同一excel的同一sheet)
path = r'E:\OneDrive\Python_Note\Excel操作\03\反饋表-小寨支行.xlsx' 
wb = openpyxl.load_workbook(path)
ws = wb.active  #本行代碼意思是指定ws為當前在excel中處于選中狀態(tài)的sheet為ws。
                #若excel內(nèi)有多個sheet,建議使用ws=wb['sheet的名字']
 
#以字符串輸入復制、粘貼的區(qū)域,如'a1:f16','h23:m38'(必須大小一致)
Source_Area = 'a1:f16'  
Target_Area = 'h23:m38'
 
#分別指定復制和粘貼所在sheet的位置(本文復制粘貼的單元格區(qū)域都在ws內(nèi),ws是什么在上面已經(jīng)指定好)
source_area = ws[Source_Area]   
target_area = ws[Target_Area]  
 
#創(chuàng)造source_cell_list,用以和target_cell_list一一對應:
source_cell_list = []
for source_row in source_area:
    for source_cell in source_row:
        sc_str = str(source_cell)  
        point_time = sc_str.count('.')
        sc_str = sc_str.replace('.', '', point_time - 1)
        start = sc_str.find('.')
        sc_str = sc_str[start+1 : -1]
        source_cell_list.append(sc_str) #提取出單元格編號的字符串,如'C8'
print('source_cell_list:',source_cell_list)
target_cell_list = []
for target_row in target_area:
    for target_cell in target_row:
        tc_str = str(target_cell)  
        point_time = tc_str.count('.')
        tc_str = tc_str.replace('.', '', point_time - 1)
        start = tc_str.find('.')
        tc_str = tc_str[start + 1: -1]
        target_cell_list.append(tc_str)  # 提取出單元格編號的字符串,如'L10'
print('target_cell_list:',target_cell_list)
 
#獲取要復制的單元格總個數(shù):
cells = len(source_cell_list) 
 
#提取并復制格式:
i=0
while i<=cells-1:
    ws[target_cell_list[0+i]].data_type = ws[source_cell_list[0+i]].data_type
    if ws[source_cell_list[0+i]].has_style:
        ws[target_cell_list[0+i]]._style = copy.copy(ws[source_cell_list[0+i]]._style)
        ws[target_cell_list[0+i]].font = copy.copy(ws[source_cell_list[0+i]].font)
        ws[target_cell_list[0+i]].border = copy.copy(ws[source_cell_list[0+i]].border)
        ws[target_cell_list[0+i]].fill = copy.copy(ws[source_cell_list[0+i]].fill)
        ws[target_cell_list[0+i]].number_format = copy.copy(ws[source_cell_list[0+i]].number_format)
        ws[target_cell_list[0+i]].protection = copy.copy(ws[source_cell_list[0+i]].protection)
        ws[target_cell_list[0+i]].alignment = copy.copy(ws[source_cell_list[0+i]].alignment)
    # 通過引用方法粘貼值: ws['']=ws[''].value
    ws[target_cell_list[0+i]] = ws[source_cell_list[0+i]].value
    i+=1
 
#保存更改:(若復制粘貼來源于不同文件要分別保存)
wb.save(r'E:\OneDrive\Python_Note\Excel操作\03\反饋表-小寨支行-py改.xlsx')

再補充一下如何遍歷到某個文件夾下所有的excel。這樣就可以實現(xiàn)批量自動提取每個excel的指定位置的數(shù)據(jù)了:

#插入庫(同樣庫只用插入一遍)
import openpyxl
import os
 
#指定文件夾路徑:
path = r'E:\OneDrive\Python_Note\Excel操作'
 
#使用for循環(huán)對文件夾內(nèi)的每個excel進行相同操作:
 
for file_name in os.listdir(path):
    if file_name.endswith('.xlsx') or file_name.endswith(".xls"):
        #本次循環(huán)對象excel文件的絕對路徑:
        excel = path + '\\' + file_name 
        print('開始執(zhí)行:',excel)
        wb = openpyxl.load_workbook(excel)
 
        #以下開始是在每個excel內(nèi)的所需操作(根據(jù)自己需要)
        
        ws = wb.active #指定sheet名,推薦操作的excel都只有一個sheet時用,可以解決各excel里sheet名稱不同的問題。
 
        Source_Area = 'a1:f16'  
        Target_Area = 'h23:m38'     
        source_area = ws[Source_Area]   
        target_area = ws[Target_Area] 

總結(jié)

到此這篇關(guān)于如何用python復制粘貼excel指定單元格的文章就介紹到這了,更多相關(guān)python復制粘貼excel指定單元格內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用python進行矩陣運算實例代碼

    利用python進行矩陣運算實例代碼

    這篇文章主要給大家介紹了關(guān)于如何利用python進行矩陣運算的相關(guān)資料,Numpy是Python編程語言中的一個核心庫,專門用于處理多維數(shù)據(jù)和矩陣運算,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-12-12
  • Python使用turtle繪制有趣的龍年祝福動畫

    Python使用turtle繪制有趣的龍年祝福動畫

    這篇文章主要介紹了Python的內(nèi)置庫——小海龜(turtle),它是一個非常實用的繪畫工具,不僅可以幫助我們繪制圖形,還能讓我們查看整個繪畫過程,下面我們就來看看如何使用turtle繪制有趣的龍年祝福動畫吧
    2024-01-01
  • conda管理Python虛擬環(huán)境的實現(xiàn)

    conda管理Python虛擬環(huán)境的實現(xiàn)

    本文主要介紹了conda管理Python虛擬環(huán)境的實現(xiàn),主要包括使用conda工具創(chuàng)建、查看和刪除Python虛擬環(huán)境,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • Django REST framework 分頁的實現(xiàn)代碼

    Django REST framework 分頁的實現(xiàn)代碼

    這篇文章主要介紹了Django REST framework 分頁的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • 分享Pandas庫中的一些寶藏函數(shù)transform()

    分享Pandas庫中的一些寶藏函數(shù)transform()

    Pandas具有很多強大的功能,transform就是其中之一,利用它可以高效地匯總數(shù)據(jù)且不改變數(shù)據(jù)行數(shù),transform是一種什么數(shù)據(jù)操作?如果熟悉SQL的窗口函數(shù),就非常容易理解了
    2021-09-09
  • 淺析Python中g(shù)lobal和nonlocal關(guān)鍵字的妙用

    淺析Python中g(shù)lobal和nonlocal關(guān)鍵字的妙用

    這篇文章主要來和大家一起深入探討Python中關(guān)鍵詞global和nonlocal的用法,包括詳細的示例代碼和實際應用場景,感興趣的可以了解下
    2024-04-04
  • Python實現(xiàn)的在特定目錄下導入模塊功能分析

    Python實現(xiàn)的在特定目錄下導入模塊功能分析

    這篇文章主要介紹了Python實現(xiàn)的在特定目錄下導入模塊功能,結(jié)合實例形式分析了Python基于系統(tǒng)函數(shù)及import語句實現(xiàn)模塊導入的相關(guān)操作技巧,需要的朋友可以參考下
    2019-02-02
  • 一文教你利用Python制作一個生日提醒

    一文教你利用Python制作一個生日提醒

    在國內(nèi),大部分人都是過農(nóng)歷生日,然后借助日歷工具獲取農(nóng)歷日期對應的陽歷日期,以這一天來過生!這里還有一個痛點,即:每一年的農(nóng)歷生日對應的陽歷日期都不一樣,本篇文章將教你利用 Python 制作一個簡單的生日提醒,需要的可以參考一下
    2022-12-12
  • libreoffice python 操作word及excel文檔的方法

    libreoffice python 操作word及excel文檔的方法

    這篇文章主要介紹了libreoffice python 操作word及excel文檔的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • python 按不同維度求和,最值,均值的實例

    python 按不同維度求和,最值,均值的實例

    今天小編就為大家分享一篇python 按不同維度求和,最值,均值的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06

最新評論