欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)合并帶有嵌入圖片的單元格

 更新時(shí)間:2024年12月27日 15:54:47   作者:一晌小貪歡  
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)合并帶有嵌入圖片的單元格,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

1、庫的安裝

用途安裝
xlwings控制打開Excel的軟件pip install xlwings -i https://pypi.tuna.tsinghua.edu.cn/simple/
os獲取絕對路徑內(nèi)置庫無需安裝

2、核心代碼

①:計(jì)算唯一項(xiàng)所占單元格函數(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)建一個(gè)字典來存儲(chǔ)結(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)建一個(gè)字典來存儲(chǔ)結(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實(shí)現(xiàn)合并帶有嵌入圖片的單元格的文章就介紹到這了,更多相關(guān)Python合并單元格內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論