66openpyxl的遍历读写操作(常用于数据批量读出来和写进去)

chenzhi2023 / 2024-12-19 / 原文

 

import openpyxl
from openpyxl import Workbook
# 常用于数据批量读出来和写进去

# 往表格写入操作
def create_wb():
    # 创建一个新的工作簿
    wb = Workbook()

    # 选择默认的工作表
    ws = wb.active

    # 假设这是你要写入的数据,4行4列
    data = [
        [1, 2, 3, 4],
        [5, 6, 7, 8],
        [9, 10, 11, 12],
        [13, 14, 15, 16]
    ]

    # 将数据写入工作表
    for row in data:
        ws.append(row)

    # 保存工作簿
    wb.save("example.xlsx")
    wb.close()

# 表格读取操作
def read_wd():
    wd = openpyxl.load_workbook("example.xlsx")
    ws = wd.active
    # 遍历工作表中的每一行,min_row从那一行开始;max_col那一行结束;ws.max_column获取ws工作表最大行数;values_only只返回值而不返回其他对象属性。
    for w in ws.iter_rows(min_row=1, max_col=ws.max_column, values_only=True):
        print(w)
    r'''
    输出的结果
    (1, 2, 3, 4)
    (5, 6, 7, 8)
    (9, 10, 11, 12)
    (13, 14, 15, 16)
    '''
    ws.close()

if __name__ == '__main__':
    create_wb()
    read_wd()