最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python創(chuàng)建Excel表格并合并行列

 更新時(shí)間:2026年02月12日 09:47:45   作者:豆本-豆豆奶  
Python的openpyxl庫可以幫助我們自動(dòng)化創(chuàng)建和格式化Excel文件,包括行與列的合并操作,下面我們就來看看如何使用openpyxl實(shí)現(xiàn)這些功能吧

Python的openpyxl庫可以幫助我們自動(dòng)化創(chuàng)建和格式化Excel文件,包括行與列的合并操作。

本文將詳細(xì)介紹如何使用openpyxl實(shí)現(xiàn)這些功能,并提供詳細(xì)的代碼示例和說明。

一、準(zhǔn)備工作

在開始之前,確保安裝了openpyxl庫。

pip install openpyxl

二、創(chuàng)建示例數(shù)據(jù)

我們先準(zhǔn)備一些簡單的數(shù)據(jù),用于演示如何在Excel中進(jìn)行行與列的合并。

這里創(chuàng)建一個(gè)包含分類、子分類、項(xiàng)目名稱以及兩個(gè)值的表格。

from openpyxl import Workbook

# 創(chuàng)建一個(gè)工作簿
workbook = Workbook()
worksheet = workbook.active

# 添加示例數(shù)據(jù)
data = [
    ['Category', 'Subcategory', 'Item', 'Value1', 'Value2'],
    ['A', 'X', 'Item1', 10, 100],
    ['A', 'Y', 'Item2', 20, 200],
    ['B', 'X', 'Item3', 30, 300],
    ['B', 'Y', 'Item4', 40, 400],
    ['C', 'X', 'Item5', 50, 500],
    ['C', 'Y', 'Item6', 60, 600]
]

# 將數(shù)據(jù)寫入工作表
for row in data:
    worksheet.append(row)

代碼說明

  • 創(chuàng)建工作簿:使用 Workbook() 創(chuàng)建一個(gè)新的工作簿,并通過 workbook.active 獲取當(dāng)前活動(dòng)的工作表。
  • 添加數(shù)據(jù):定義一個(gè)二維列表 data,其中包含表頭和數(shù)據(jù)行。
  • 寫入數(shù)據(jù):使用 worksheet.append(row) 將每一行數(shù)據(jù)逐行寫入工作表。

三、合并列

合并列可以將同一行中的多個(gè)單元格合并為一個(gè)單元格。這在創(chuàng)建表頭時(shí)非常有用。

# 合并第1行的第1到第3列
worksheet.merge_cells('A1:C1')

# 設(shè)置合并單元格的內(nèi)容和樣式
worksheet['A1'] = 'Category & Subcategory & Item'
worksheet['A1'].font = Font(bold=True)
worksheet['A1'].alignment = Alignment(horizontal='center', vertical='center')

代碼說明

  • 合并單元格:使用.merge_cells('A1:C1') 合并第1行的第A列到第C列。
  • 設(shè)置內(nèi)容:將合并單元格的內(nèi)容設(shè)置為 'Category & Subcategory & Item'。
  • 設(shè)置字體和對(duì)齊方式:使用 Font(bold=True) 設(shè)置字體為加粗,使用 Alignment(horizontal='center', vertical='center') 設(shè)置水平和垂直居中對(duì)齊。

四、合并行

合并行將同一列中的多個(gè)單元格合并為一個(gè)單元格。經(jīng)常用在需要突出顯示某個(gè)分類。

# 合并第2行和第3行的第1列
worksheet.merge_cells('A2:A3')

# 設(shè)置合并單元格的內(nèi)容和樣式
worksheet['A2'] = 'A'
worksheet['A2'].font = Font(bold=True)
worksheet['A2'].alignment = Alignment(horizontal='center', vertical='center')
# 合并第4行和第5行的第1列
worksheet.merge_cells('A4:A5')
worksheet['A4'] = 'B'
worksheet['A4'].font = Font(bold=True)
worksheet['A4'].alignment = Alignment(horizontal='center', vertical='center')
# 合并第6行和第7行的第1列
worksheet.merge_cells('A6:A7')
worksheet['A6'] = 'C'
worksheet['A6'].font = Font(bold=True)
worksheet['A6'].alignment = Alignment(horizontal='center', vertical='center')

代碼說明

  • 合并單元格:使用.merge_cells('A2:A3') 合并第2行和第3行的第A列。
  • 設(shè)置內(nèi)容:將合并單元格的內(nèi)容設(shè)置為 'A''B' 和 'C'。

五、同時(shí)合并行和列

有時(shí)需要同時(shí)合并行和列,以創(chuàng)建更復(fù)雜的布局。

# 同時(shí)合并第4行到第6行的第2列到第4列
worksheet.merge_cells('B4:D6')

# 設(shè)置合并單元格的內(nèi)容和樣式
worksheet['B4'] = 'Merged Rows and Columns'
worksheet['B4'].font = Font(bold=True)
worksheet['B4'].alignment = Alignment(horizontal='center', vertical='center')

代碼說明

  • 合并單元格:使用.merge_cells('B4:D6') 同時(shí)合并第4行到第6行的第B列到第D列。
  • 設(shè)置內(nèi)容:設(shè)置合并單元格的內(nèi)容。
  • 設(shè)置字體和對(duì)齊方式:使用 Font(bold=True) 設(shè)置字體為加粗,使用 Alignment(horizontal='center', vertical='center') 設(shè)置水平和垂直居中對(duì)齊。

六、動(dòng)態(tài)合并行

在某些情況下,可能需要根據(jù)數(shù)據(jù)動(dòng)態(tài)合并行。

# 假設(shè)我們有一個(gè)數(shù)據(jù)列表,需要根據(jù)數(shù)據(jù)動(dòng)態(tài)合并行
data = ['A', 'A', 'B', 'B', 'C', 'C']

# 初始化起始行
start_row = 2

# 遍歷數(shù)據(jù),動(dòng)態(tài)合并行
for i in range(len(data)):
    if i == len(data) - 1 or data[i] != data[i + 1]:
        # 當(dāng)前數(shù)據(jù)與下一個(gè)數(shù)據(jù)不同,或者已經(jīng)是最后一個(gè)數(shù)據(jù)
        end_row = i + 2  # 結(jié)束行號(hào)
        worksheet.merge_cells(start_row=start_row, start_column=1, end_row=end_row, end_column=1)
        worksheet.cell(row=start_row, column=1).value = data[i]
        worksheet.cell(row=start_row, column=1).font = Font(bold=True)
        worksheet.cell(row=start_row, column=1).alignment = Alignment(horizontal='center', vertical='center')
        start_row = end_row + 1  # 更新起始行號(hào)

代碼說明

初始化起始行:設(shè)置 start_row 為 2,表示從第2行開始合并。

遍歷數(shù)據(jù):使用 for i in range(len(data)) 遍歷數(shù)據(jù)列表。

動(dòng)態(tài)合并行

  • 如果當(dāng)前數(shù)據(jù)與下一個(gè)數(shù)據(jù)不同,或者已經(jīng)是最后一個(gè)數(shù)據(jù),則計(jì)算結(jié)束行號(hào) end_row。
  • 使用 .merge_cells() 合并行。
  • 設(shè)置合并單元格的內(nèi)容、字體樣式和對(duì)齊方式。
  • 更新起始行號(hào) start_row,以便處理下一組數(shù)據(jù)。

七、保存文件

最后,我們將工作簿保存為 Excel 文件。

# 保存 Excel 文件
workbook.save('merged_cells_example.xlsx')

代碼說明

保存文件:使用 workbook.save() 將工作簿保存為文件。

通過上面的各自步驟,成功創(chuàng)建了一個(gè)包含合并行和列的Excel表。

到此這篇關(guān)于Python創(chuàng)建Excel表格并合并行列的文章就介紹到這了,更多相關(guān)Python創(chuàng)建Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

黔江区| 天台县| 麻江县| 永州市| 马边| 昔阳县| 瑞昌市| 佳木斯市| 玉环县| 芮城县| 乳源| 普格县| 从化市| 定南县| 铁力市| 景宁| 合作市| 辰溪县| 通河县| 兰坪| 自贡市| 平湖市| 德钦县| 浦江县| 措勤县| 修武县| 新源县| 德保县| 天气| 荣成市| 陆良县| 郎溪县| 太白县| 灵石县| 栖霞市| 永福县| 巴马| 山阴县| 平度市| 五家渠市| 南陵县|