Python修改Excel文件通用方法(基于openpyxl库)

利用openpyxl库操作Excel文件的读写(仅支持xlsx文件,xls文件会报错)以下代码供参考

#! /user/bin/env python
# encoding: utf-8
import openpyxl
import os


def edit_excel(filepath, modifys):
    """
    编辑Excel文件并保存,如果输入的文件路径不存在,将创建一个新文件
    :param filepath: 文件路径
    :param modifys: list, e.g:[{'row': 1, 'col': 1, 'value': 'value1'},{'row': 2, 'col': 2, 'value': 'value2'}]
    修改参数为列表嵌套字典,提供要修改的行号、列号、修改的值等
    :return: None
    """
    if not os.path.exists(filepath):
        wb = openpyxl.Workbook()
        wb.save(filepath)
        wb.close()
    wb = openpyxl.load_workbook(filepath)
    sh = wb['Sheet']
    for mod in modifys:
        sh.cell(row=mod['row'], column=mod['col'], value=mod['value'])
    wb.save(filepath)


def read_excel(filepath, cells, sheetname='Sheet'):
    """
    读取Excel单元格的数据,返回数据列表
    :param filepath: 文件完整路径
    :param cells: 单元格参数,包括行号列号[{'row': 1, 'col': 1}, {'row': 1, 'col': 2}]
    :param sheetname:
    :return: response 返回数据列表:[{'row': 1, 'col': 1, 'value': '姓名'}, {'row': 1, 'col': 2, 'value': '年龄'}]
    """
    if not os.path.exists(filepath):
        print("file not exist! please check the filepath".title())
    else:
        wb = openpyxl.load_workbook(filepath)
        sh = wb[sheetname]
        response = []
        for c in cells:
            value = sh.cell(row=c['row'], column=c['col']).value
            cell = {'row': c['row'], 'col': c['col'], 'value': value}
            response.append(cell)
        wb.close()
        return response

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值