国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

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

這篇具有很好參考價(jià)值的文章主要介紹了用python復(fù)制粘貼excel指定單元格(可保留格式)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

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

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

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

# 復(fù)制區(qū)域cell、帶格式粘貼: 比如把a(bǔ)1:f16帶格式復(fù)制粘貼到h23:m38

#導(dǎo)入包
import openpyxl
import copy

#path單引號(hào)內(nèi)放入指定要操作的excel的路徑 (本文舉例的復(fù)制與粘貼,位于同一excel的同一sheet)
path = r'E:\OneDrive\Python_Note\Excel操作\03\反饋表-小寨支行.xlsx' 
wb = openpyxl.load_workbook(path)
ws = wb.active  #本行代碼意思是指定ws為當(dāng)前在excel中處于選中狀態(tài)的sheet為ws。
                #若excel內(nèi)有多個(gè)sheet,建議使用ws=wb['sheet的名字']


#以字符串輸入復(fù)制、粘貼的區(qū)域,如'a1:f16','h23:m38'(必須大小一致)
Source_Area = 'a1:f16'  
Target_Area = 'h23:m38'

#分別指定復(fù)制和粘貼所在sheet的位置(本文復(fù)制粘貼的單元格區(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一一對(duì)應(yīng):
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) #提取出單元格編號(hào)的字符串,如'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)  # 提取出單元格編號(hào)的字符串,如'L10'
print('target_cell_list:',target_cell_list)


#獲取要復(fù)制的單元格總個(gè)數(shù):
cells = len(source_cell_list) 

#提取并復(fù)制格式:
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)
    # 通過(guò)引用方法粘貼值: ws['']=ws[''].value
    ws[target_cell_list[0+i]] = ws[source_cell_list[0+i]].value
    i+=1


#保存更改:(若復(fù)制粘貼來(lái)源于不同文件要分別保存)
wb.save(r'E:\OneDrive\Python_Note\Excel操作\03\反饋表-小寨支行-py改.xlsx')

再補(bǔ)充一下如何遍歷到某個(gè)文件夾下所有的excel。這樣就可以實(shí)現(xiàn)批量自動(dòng)提取每個(gè)excel的指定位置的數(shù)據(jù)了:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-536907.html

#插入庫(kù)(同樣庫(kù)只用插入一遍)
import openpyxl
import os

#指定文件夾路徑:
path = r'E:\OneDrive\Python_Note\Excel操作'


#使用for循環(huán)對(duì)文件夾內(nèi)的每個(gè)excel進(jìn)行相同操作:

for file_name in os.listdir(path):
    if file_name.endswith('.xlsx') or file_name.endswith(".xls"):
        #本次循環(huán)對(duì)象excel文件的絕對(duì)路徑:
        excel = path + '\\' + file_name 
        print('開(kāi)始執(zhí)行:',excel)
        wb = openpyxl.load_workbook(excel)

        #以下開(kāi)始是在每個(gè)excel內(nèi)的所需操作(根據(jù)自己需要)
        
        ws = wb.active #指定sheet名,推薦操作的excel都只有一個(gè)sheet時(shí)用,可以解決各excel里sheet名稱不同的問(wèn)題。

        Source_Area = 'a1:f16'  
        Target_Area = 'h23:m38'     
        source_area = ws[Source_Area]   
        target_area = ws[Target_Area] 

到了這里,關(guān)于用python復(fù)制粘貼excel指定單元格(可保留格式)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【openpyxl】python處理excel——?jiǎng)h除指定行

    本文給出了用 openpyxl 刪除excel滿足指定條件的行或列的正確示范,同時(shí)給出了一些網(wǎng)絡(luò)資料的常見(jiàn)錯(cuò)誤供讀者參考 因?yàn)樾枰獎(jiǎng)h除的行數(shù)不固定,正確示范應(yīng)該采用 while 循環(huán)來(lái)遍歷excel表,方便刪除操作,網(wǎng)絡(luò)上很多教程采用 for 循環(huán),存在循環(huán)過(guò)程中行號(hào)改變的錯(cuò)誤 以下例子

    2024年02月12日
    瀏覽(28)
  • Python-openpyxl-在Excel表格指定區(qū)域?qū)懭胫付〝?shù)據(jù)

    重點(diǎn)1:指定值要寫(xiě)成列表list形式,一行一個(gè)list,區(qū)域?yàn)橐粋€(gè)大list; 重點(diǎn)2:定義的函數(shù)可以將Values按指定區(qū)域傳入,在函數(shù)參數(shù)中指定起始行號(hào)和列號(hào),即可通過(guò)函數(shù)遍歷所有取值,得到該區(qū)域。

    2024年03月08日
    瀏覽(25)
  • Python——openpyxl讀取Excel表格(讀取、單元格修改、單元格加底色)

    Python——openpyxl讀取Excel表格(讀取、單元格修改、單元格加底色)

    ?? 歡迎來(lái)到Python辦公自動(dòng)化專欄—Python處理辦公問(wèn)題,解放您的雙手 ?????? 博客主頁(yè):一晌小貪歡的博客主頁(yè) ?? 該系列文章專欄:Python辦公自動(dòng)化專欄 文章作者技術(shù)和水平有限,如果文中出現(xiàn)錯(cuò)誤,希望大家能指正?? ?? 歡迎各位佬關(guān)注! ?? 如我在K列,增加了

    2024年03月20日
    瀏覽(30)
  • Python用openpyxl操作Excel:讀寫(xiě)、遍歷、單元格讀寫(xiě)

    openpyxl支持讀寫(xiě)Excel,自帶整合Pandas和NumPy功能。 worksheet cell

    2024年02月16日
    瀏覽(31)
  • excel表中復(fù)制粘貼有隱藏行的情況

    excel表中復(fù)制粘貼有隱藏行的情況

    一、原始數(shù)據(jù),沒(méi)有任何隱藏的情況: 二、隱藏3、4行: 這種情況下: 三、我想復(fù)制粘貼出可見(jiàn)的內(nèi)容,全選,ctrl+c復(fù)制 四、ctrl+v粘貼到別處,結(jié)果卻是 發(fā)現(xiàn)隱藏的行也被復(fù)制粘貼出來(lái)了。并不是我們想要的。 解決辦法: 在第“三”步中,全選可見(jiàn)內(nèi)容后, 按alt+; ,即可

    2024年02月09日
    瀏覽(28)
  • Pandas讀取excel合并單元格的正確姿勢(shì)(openpyxl合并單元格拆分并填充內(nèi)容)

    Pandas讀取excel合并單元格的正確姿勢(shì)(openpyxl合并單元格拆分并填充內(nèi)容)

    在pandas讀取excel經(jīng)常會(huì)遇到合并單元格的問(wèn)題。例如: 此時(shí)使用pandas讀取到的內(nèi)容為: 如果去百度,幾乎所有人會(huì)說(shuō)應(yīng)該用如下代碼: 這樣看起來(lái)沒(méi)問(wèn)題,但是,該解決方案并不能適用于所有場(chǎng)景,甚至?xí)斐蓴?shù)據(jù)錯(cuò)誤。 例如: 對(duì)班級(jí)和備注填充后: 孫武空本來(lái)是數(shù)據(jù)缺

    2024年02月03日
    瀏覽(37)
  • SAP ABAP Microsoft Excel 在剪貼板上有大量信息。是否保留其內(nèi)容,以便此后粘貼到其他程序中?

    SAP ABAP Microsoft Excel 在剪貼板上有大量信息。是否保留其內(nèi)容,以便此后粘貼到其他程序中?

    引言: 在 SAP 批導(dǎo)/上載 Excel 文件時(shí),出現(xiàn)“在剪貼板上有大量信息。是否保留其內(nèi)容,以便此后粘貼到其他程序中?”的彈窗提示,無(wú)論點(diǎn)擊“是”、“否”、“取消”最終批導(dǎo)/上載都失敗,數(shù)據(jù)為空。 : SAP ABAP Excel批導(dǎo)上載 ALSM_EXCEL_TO_INTERNAL_TABLE 在剪貼板上有大量

    2024年02月02日
    瀏覽(23)
  • excel快速選擇數(shù)據(jù)、選擇性粘貼、凍結(jié)單元格

    excel快速選擇數(shù)據(jù)、選擇性粘貼、凍結(jié)單元格

    一、如何快速選擇數(shù)據(jù) 在excel中,希望選擇全部數(shù)據(jù),通常使用鼠標(biāo)選擇數(shù)據(jù)然后往下拉,當(dāng)數(shù)據(jù)很多時(shí),也可單擊單元格使用ctrl + A選中全部數(shù)據(jù),此外,具體介紹另一種方法。 操作:ctrl + shift + 方向箭頭 1、優(yōu)點(diǎn):可以快速選擇規(guī)模較大的區(qū)域數(shù)據(jù) 2、缺點(diǎn):如果起始行或

    2024年02月12日
    瀏覽(20)
  • 信創(chuàng)辦公–基于WPS的EXCEL最佳實(shí)踐系列 (數(shù)據(jù)整理復(fù)制粘貼)

    信創(chuàng)辦公–基于WPS的EXCEL最佳實(shí)踐系列 (數(shù)據(jù)整理復(fù)制粘貼)

    信創(chuàng)辦公–基于WPS的EXCEL最佳實(shí)踐系列 (數(shù)據(jù)整理復(fù)制粘貼) 數(shù)據(jù)的整理復(fù)制粘貼等在日常的工作中經(jīng)常使用。本章內(nèi)容主要學(xué)習(xí)對(duì)數(shù)據(jù)進(jìn)行查找與替換、整理、編輯、拆分多列和應(yīng)用數(shù)字格式,數(shù)據(jù)處理過(guò)程中的步驟,可以幫助我們更好的學(xué)習(xí)、組織及理解數(shù)據(jù)。 (1)選

    2024年02月07日
    瀏覽(35)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包