#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2023/5/23 16:43
# @File : 关于Excel的封装思路.py
# @Software: PyCharm
"""
一般结合着,你需要拿它来做什么
"""
>pip install xlrd==1.2.0 #安装读取EXCEL文件的插件,因为1.2.0之后的版本不支持WPS的excel文件,所以要用1.2.0
import xlrd # 导入包
# 创建一个类读取excel文件
class ExcelReader:
def __init__(self, filename,sheet_name=None,sheet_index=None): # 构造函数中设置EXCEL文件名、sheet名或者sheet下标
self.workbook = xlrd.open_workbook(filename) # 获取文件对象,xlrd.open_workbook(filename)
if not sheet_name and not sheet_index: # 如果sheet名和下标不存在
self.sheet = self.workbook.sheet_by_index(0) # 指定为第一个sheet
elif sheet_name: # 如果sheet名已给出
self.sheet = self.workbook.sheet_by_name(sheet_name)
elif sheet_index: # 如果下标已给出
self.sheet = self.workbook.sheet_by_index(sheet_index)
self.current_row = 0 #表示当前行号
def get_values(self):
if self.current_row >= self.sheet.nrows: # self.sheet.nrows:得到的是一个总行数
return None # 如果超过总行数,返回NONE
row_data = self.sheet.row_values(self.current_row)
self.current_row += 1
return row_data
def reset(self):
self.current_row = 0
if __name__ == '__main__':
file_object = ExcelReader("C:/Users/a/PycharmProjects/pythonProject1/test2.xlsx")
print(file_object.get_values())
print(file_object.get_values())
print(file_object.get_values())
file_object.current_row = 99
print(file_object.get_values()) # 前面设置99行后返回NONE
file_object.reset() # 设置归0
print(file_object.get_values()) #从0开始