• ecxel表的读取


     一、 安装xlrd、xlwt、xlutils

    xlrd:是python从excel读数据的第三方控件;
    xlwt:是python从excel写数据的第三方控件;
    xlutils:是python使用xlrd、xlwt的工具箱。若安装不成功,可能原因是需要安装setuptools。

    第一种方法()

    pip install xlrd

    pip install xlwt

    pip install xlutils

    二、数据代码应用:

    import xlrd
    from xlutils.copy import copy


    class OperateExcel(object):
    def __init__(self, file_name=None, sheet_id=None):
    """
    :param file_name: excel文件的具体路径名称
    :param sheet_id: 要操作的第几 sheet 页
    """
    if file_name:
    self.file_name = file_name
    else:
    self.file_name = 'C:\Users\Administrator\Desktop\aa\s1.xls'

    if sheet_id:
    self.sheet_id = sheet_id
    else:
    self.sheet_id = 0

    self.sheet_table = self.get_sheet()

    # 获取 sheet 页操作对象
    def get_sheet(self):
    data = xlrd.open_workbook(self.file_name)
    sheet_table = data.sheets()[self.sheet_id]
    return sheet_table

    # 获取该 sheet 页的行数和列数,拿到的是一个元组
    def get_sheet_nrows_ncols(self):
    return self.sheet_table.nrows, self.sheet_table.ncols

    # 获取该 sheet 页的行数
    def get_sheet_nrows(self):
    return self.sheet_table.nrows

    # 获取该 sheet 页的列数
    def get_sheet_ncols(self):
    return self.sheet_table.ncols

    # 获取具体单元格的数据
    def get_sheet_cell(self, row, col):
    """
    :param row: 单元格的行值
    :param col: 单元格的列值
    :return: cell_data
    """
    cell_data = self.sheet_table.cell_value(row, col)
    return cell_data

    # 写入数据到 excel 中
    def write_to_excel(self, row, col, value):
    # 同样的先打开 excel 操作句柄
    data = xlrd.open_workbook(self.file_name)
    copy_data = copy(data)
    # 选择写入的 sheet 页
    copy_data_sheet = copy_data.get_sheet(0)
    # 写入数据:列如:17,7"写入的数据",17是行坐标18,7是列坐标8
    copy_data_sheet.write(row, col, value)
    # 保存数据
    copy_data.save(self.file_name)


    if __name__ == "__main__":
    oe = OperateExcel()
    print("获取 excel 表的行数和列表,返回元组形式:", oe.get_sheet_nrows_ncols())
    print("获取 excel 表的行数:", oe.get_sheet_nrows())
    print("获取 excel 表的列数:", oe.get_sheet_ncols())
    print("获取单元格(1, 1)的值:", oe.get_sheet_cell(1, 1))
    print("获取单元格(1, 2)的值:", oe.get_sheet_cell(1, 2))
    print("获取单元格(2, 2)的值:", oe.get_sheet_cell(2, 2))
    oe.write_to_excel(17, 7, '写入的数据')
    没有不会的技术,只有你想不到的技术。。。。。。。。。。。。。。
  • 相关阅读:
    listView控件演示程序
    猪悟能淘宝商品下载专家v3版开发手记
    c# WebClient类
    分隔控件splitter演示程序
    C#中SESSIONID的获取
    工具栏toolBar演示程序
    Cookie总结
    C#获取网页源码并且自动判断网页字符集编码
    如何在Google Code上建立私有代码版本库
    iOS应用程序生命周期(前后台切换,应用的各种状态)详解
  • 原文地址:https://www.cnblogs.com/zenghongfei/p/12170218.html
Copyright © 2020-2023  润新知