python 通过openpyxl来操作Excel文件(二 ):写入Excel文件

这篇文章讲python 通过openpyxl来写入Excel文件,不清楚python怎么读取Excel文件的小伙伴可以去看下我的另一篇文章 传送门https://blog.csdn.net/i_coffer/article/details/112133563

 1.先下载openpyxl模块

pip install openpyxl

 2. 写入Excel基本步骤

在保存Excel数据时候通常会员两张数据结构‘

数据结构一:[['John Brown1S', 18, 'New York No. 1 Lake Park']] 一种数据不包含含有key的数组

数据结构二:[[{'name': 'John Brown1S'}, {'age': 18}, {'address': 'New York No. 1 Lake Park'}]] 一种数据是包含key的数组

可分两种情况来处理

 

先写第一种数据结构写入Excel文件的步骤

import openpyxl  # openpyxl引入模块



def write_to_excel(path: str, sheetStr, info, data):

    #     实例化一个workbook对象
    workbook = openpyxl.Workbook()
    # 激活一个sheet
    sheet = workbook.active
    # 为sheet设置一个title
    sheet.title = sheetStr

    # 添加表头(不需要表头可以不用加)
    data.insert(0, list(info))
    # 开始遍历数组
    for row_index, row_item in enumerate(data):

        for col_index, col_item in enumerate(row_item):
            # 写入
            sheet.cell(row=row_index+1,column= col_index+1,value=col_item)

    # 写入excel文件 如果path路径的文件不存在那么就会自动创建
    workbook.save(path)
    print('写入成功')




if __name__ == '__main__':

    # 数据结构1 path 文件的路径
    path = r'D:\Python\Project\demo1.xlsx'
    # 数据结构1Excel 中sheet 的名字
    sheetStr = '这是数据结构1'

    info = ['name', 'age', 'address']
    # 数据结构1数据
    writeData = [['John Brown', 18, 'New York No. 1 Lake Park']]

    # 执行
    write_to_excel(path, sheetStr, info, writeData)

 

 执行前

 执行write_to_excel后自动创建demo1.xlsx 文件并写入值

 

接下来处理第二种数据结构 [[{'name': 'John Brown1S'}, {'age': 18}, {'address': 'New York No. 1 Lake Park'}]] 一种包含key的数组

import openpyxl  # openpyxl引入模块



def write_to_excel(path: str, sheetStr, info, data):

    #     实例化一个workbook对象
    workbook = openpyxl.Workbook()
    # 激活一个sheet
    sheet = workbook.active
    # 为sheet设置一个title
    sheet.title = sheetStr

    # 添加表头(不需要表头可以不用加)
    data.insert(0, list(info))
    # 开始遍历数组
    for row_index, row_item in enumerate(data):

        for col_index, col_item in enumerate(row_item):
            # 如果有表头 第二种数据格式就要价格判断单独处理表头
                    if row_index == 0:
                        # 直接写入 col_item的值
                        sheet.cell(row=row_index + 1, column=col_index + 1, value=col_item)
                    else:
                        # 获取字典中 {'name': 'John Brown'}, {'age': 18}, {'address': 'New York No. 1 Lake Park'}
                        # list数组列表后为 ['John Brown',18,'New York No. 1 Lake Park']
                        arr2 = list(col_item.values())
                        # 数组转换为字符串
                        str2 = ','.join(str(i) for i in arr2)
                        # 写入
                        sheet.cell(row=row_index + 1, column=col_index + 1, value=str2)


    # 写入excel文件 如果path路径的文件不存在那么就会自动创建
    workbook.save(path)
    print('写入成功')




if __name__ == '__main__':

    # 数据结构1 path 文件的路径
    path = r'D:\Python\Project\demo2.xlsx'
    # 数据结构1Excel 中sheet 的名字
    sheetStr = '这是数据结构2'

    info = ['name', 'age', 'address']
    # 数据结构2数据
    writeData = [[{'name': 'John Brown'}, {'age': 18}, {'address': 'New York No. 1 Lake Park'}]]

    # 执行
    write_to_excel(path, sheetStr, info, writeData)

 

执行后效果如下 

写入excel文件 如果path路径的文件不存在那么就会自动创建

 

完成以上步骤就能通过openpyxl来写入Excel文件

不知道怎么通过openpyxl来读取Excel文件的小伙伴可以看我另一篇文章

 传送门 python 通过openpyxl来操作Excel文件( 一):读取Excel文件

  • 19
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值