Python實現(xiàn)合并帶有嵌入圖片的單元格
更新時間:2024年12月27日 15:54:47 作者:一晌小貪歡
這篇文章主要為大家詳細(xì)介紹了如何使用Python實現(xiàn)合并帶有嵌入圖片的單元格,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
1、庫的安裝
| 庫 | 用途 | 安裝 |
|---|---|---|
| xlwings | 控制打開Excel的軟件 | pip install xlwings -i https://pypi.tuna.tsinghua.edu.cn/simple/ |
| os | 獲取絕對路徑 | 內(nèi)置庫無需安裝 |
2、核心代碼
①:計算唯一項所占單元格函數(shù)
# 讀取Excel文件
df = pd.read_excel('運(yùn)單號提取結(jié)果.xlsx', keep_default_na='', engine='openpyxl')
# 獲取A列數(shù)據(jù)
column_a = df.iloc[:, 0] # 選擇第一列
# 創(chuàng)建一個字典來存儲結(jié)果
result = {}
# 記錄當(dāng)前值和它的起始位置
current_value = None
start_index = None
# 遍歷A列的每一行
for index, value in enumerate(column_a, start=2): # start=2 使索引從2開始
if current_value is None:
current_value = value
start_index = index
elif value != current_value:
# 如果值發(fā)生變化,且之前的值有多行
if index - start_index > 1:
result[str(current_value)] = [start_index, index - 1]
current_value = value
start_index = index
# 處理最后一組數(shù)據(jù)
if len(column_a) - start_index + 1 > 1:
result[str(current_value)] = [start_index, len(column_a) + 1]
②:合并單元格
# 使用xlwings加載Excel文件
app = xw.App(visible=False)
wb = app.books.open('運(yùn)單號提取結(jié)果.xlsx')
ws = wb.sheets[0]
# 合并單元格,并保留圖片
for value, range_list in result.items():
# 合并A列
ws.range(f'A{range_list[0]}:A{range_list[1]}').merge()
# 合并C列
ws.range(f'C{range_list[0]}:C{range_list[1]}').merge()3、完整代碼
import xlwings as xw
import pandas as pd
# 讀取Excel文件
df = pd.read_excel('運(yùn)單號提取結(jié)果.xlsx', keep_default_na='', engine='openpyxl')
# 獲取A列數(shù)據(jù)
column_a = df.iloc[:, 0] # 選擇第一列
# 創(chuàng)建一個字典來存儲結(jié)果
result = {}
# 記錄當(dāng)前值和它的起始位置
current_value = None
start_index = None
# 遍歷A列的每一行
for index, value in enumerate(column_a, start=2): # start=2 使索引從2開始
if current_value is None:
current_value = value
start_index = index
elif value != current_value:
# 如果值發(fā)生變化,且之前的值有多行
if index - start_index > 1:
result[str(current_value)] = [start_index, index - 1]
current_value = value
start_index = index
# 處理最后一組數(shù)據(jù)
if len(column_a) - start_index + 1 > 1:
result[str(current_value)] = [start_index, len(column_a) + 1]
# 使用xlwings加載Excel文件
app = xw.App(visible=False)
wb = app.books.open('運(yùn)單號提取結(jié)果.xlsx')
ws = wb.sheets[0]
# 合并單元格,并保留圖片
for value, range_list in result.items():
# 合并A列
ws.range(f'A{range_list[0]}:A{range_list[1]}').merge()
# 合并C列
ws.range(f'C{range_list[0]}:C{range_list[1]}').merge()
# 保存為新文件
wb.save('運(yùn)單號提取結(jié)果_合并后.xlsx')
wb.close()
app.quit()
print("合并完成,已保存為新文件:運(yùn)單號提取結(jié)果_合并后.xlsx")
效果圖

到此這篇關(guān)于Python實現(xiàn)合并帶有嵌入圖片的單元格的文章就介紹到這了,更多相關(guān)Python合并單元格內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pytorch預(yù)測之解決多次預(yù)測結(jié)果不一致問題
這篇文章主要介紹了pytorch多次預(yù)測結(jié)果不一致的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
Python新手入門webpy小應(yīng)用開發(fā)
本文主要介紹了Python新手入門webpy小應(yīng)用開發(fā),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07
python+mysql實現(xiàn)個人論文管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python+mysql實現(xiàn)個人論文管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-10-10

