栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/355418.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号