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

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

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

Python修改Excel文件通用方法
  • 利用openpyxl库 *** 作Excel文件的读写(仅支持xlsx文件,xls文件会报错)以下代码供参考

利用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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4827710.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-10
下一篇 2022-11-10

发表评论

登录后才能评论

评论列表(0条)

保存