Python使用Openpyxl库将多行多列数据复制到新Excel表示例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python使用Openpyxl库将多行多列数据复制到新Excel表示例相关的知识,希望对你有一定的参考价值。

源数据表

计划另存为数据

实现逻辑

读取源数据表为python二维列表,通过openpyxl库将二维列表插入到新表实现复制

实现代码

from openpyxl import Workbook, load_workbook

#导入源数据表
wb = load_workbook(soucer.xlsx)

#选取首个sheet
ws = wb.active

#定义存储源数据列表
cells_list = []


通过iter_rows方法的参数选取到行和列,最小行为3,最大行为4,最小列为1,最大列为2

for cells_tuple in ws.iter_rows(min_row=3, max_row=4, min_col=1, max_col=2):
    tmp_list = []
    for cell in cells_tuple:
        tmp_list.append(cell.value)
    cells_list.append(tmp_list)
    tmp_list = []

#输出读取列表
print(cells_list)

#新建Excel对象
wb_new = Workbook()
ws_new = wb_new.active

#将二维列表插入新Excel对象
#定义插入的开始行和开始列
row_start = 3   #从第几行开始
column = 1      #从第几列开始

#使用ws_new.cell(row_start, column).value定位到单元格,利用for循环插入列表的值
for cells in cells_list:
    for cell_value in cells:
        #修改单元格的值
        ws_new.cell(row_start, column).value = cell_value
        #列累加
        column += 1
    # 行累加
    row_start += 1
    #重置列号
    column = 1

#保存为新文件new.xlsx
wb_new.save(new.xlsx)

新文件内容

扩展

定义读取单元格区域,再结合文件遍历即可实现将多个源数据插入到新表的固定区域

以上是关于Python使用Openpyxl库将多行多列数据复制到新Excel表示例的主要内容,如果未能解决你的问题,请参考以下文章

SQL一行多列数据分解成多行数据

如何使用 openpyxl 保存 xlsx 并获得正确的编码? 【垃圾人物】

MySQL关联表多行转多列?

excel统计每个数据出现次数 多行多列

使用 Laravel 数据透视表的多行和多列输入表单

excel怎么把1行转多列多行