溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么使用Python根據(jù)原始Excel表格批量生成目標(biāo)Excel表格

發(fā)布時(shí)間:2023-04-12 09:41:42 來源:億速云 閱讀:107 作者:iii 欄目:編程語言

本文小編為大家詳細(xì)介紹“怎么使用Python根據(jù)原始Excel表格批量生成目標(biāo)Excel表格”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“怎么使用Python根據(jù)原始Excel表格批量生成目標(biāo)Excel表格”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

需求澄清

問題來源于實(shí)際的需求,下圖是原始數(shù)據(jù),需要在1-3處填充另外一個(gè)表格中的數(shù)據(jù):

怎么使用Python根據(jù)原始Excel表格批量生成目標(biāo)Excel表格

如果是正常操作的話,肯定是點(diǎn)擊進(jìn)去Excel文件,然后每個(gè)單元格進(jìn)行復(fù)制,然后粘貼到新文件,然后保存,之后重命名。

這樣做肯定是可以,但是當(dāng)有上百個(gè)文件夾需要復(fù)制呢?上千個(gè)文件呢?肯定就需要消耗大量的時(shí)間和精力了。估計(jì)一天都不一定完成的了。

這里使用Python進(jìn)行批量實(shí)現(xiàn)!

實(shí)現(xiàn)過程

這里給大家提供一個(gè)可行的代碼,思路也很簡(jiǎn)單,openpyxl庫進(jìn)行實(shí)現(xiàn),代碼如下:

import openpyxl

workbook1 = openpyxl.load_workbook("模板.xlsx")
worksheet1 = workbook1.worksheets[0]
print(worksheet1['C4'].value)# 金額
print(worksheet1['D4'].value)# 公司
print(worksheet1['F4'].value)# 編號(hào)

workbook2 = openpyxl.load_workbook("訂單.xlsx")
worksheet2 = workbook2[0]
print(worksheet2['C3'].value)# 城市
print(worksheet2['D3'].value)# 編號(hào)
print(worksheet2['CU3'].value)# 金額
print(worksheet2['DM3'].value)# 公司

print(f"正在處理訂單:{worksheet2['C3'].value}...")
worksheet1['C4'].value = worksheet2['CU3'].value
worksheet1['D4'].value = f"{worksheet2['DM3'].value}分公司"
worksheet1['F4'].value = worksheet2['D3'].value
new_file_name = f"({worksheet2['C3'].value} {worksheet2['D3'].value})"
workbook1.save(new_file_name + '.xlsx')
print(f"訂單:{worksheet2['C3'].value}處理完成")

代碼運(yùn)行之后,就可以實(shí)現(xiàn)該Excel文件中對(duì)應(yīng)的數(shù)據(jù)替換了。不過這里只是單個(gè)文件的替換。

如果想要批量的進(jìn)行替換的話,則需要加入for循環(huán),如下所示:

for i in range(len(worksheet.row)):
print(f"正在第{i}行,處理訂單:{worksheet2[f'C{i}'].value}...")
worksheet1['C4'].value = worksheet2[f'CU{i}'].value
worksheet1['D4'].value = f"{worksheet2[f'DM{i}'].value}分公司"
worksheet1['F4'].value = worksheet2[f'D{i}'].value
new_file_name = f"({worksheet2[f'C{i}'].value} {worksheet2[f'D{i}'].value})"
workbook1.save(new_file_name + '.xlsx')
time.sleep(3)
print(f"訂單:{worksheet2[f'C{i}'].value}處理完成")

讀到這里,這篇“怎么使用Python根據(jù)原始Excel表格批量生成目標(biāo)Excel表格”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI