0
点赞
收藏
分享

微信扫一扫

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

源数据表

image.png

计划另存为数据

image.png

实现逻辑

读取源数据表为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')

新文件内容

image.png

扩展

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

举报

相关推荐

0 条评论