Python读取Excel

一、基础操作

import xlrd
#打开Excel表格
data = xlrd.open_workbook(r"G:Usersuser.xlsx")
#获取目标EXCEL文件sheet名
print(data.sheet_names())
#通过索引顺序获取
#table = data.sheets()[0]
#通过索引顺序获取
#table = data.sheet_by_index(0)
# 通过名称获取 
table = data.sheet_by_name(u'Sheet1')
# 获取总行数
nrows = table.nrows
# 获取总列数
ncols = table.ncols
# 获取第一行值
print(table.row_values(0))
# 获取第二列值
print(table.col_values(1)) 
# 获取第二行第一列单元格内容
print(table.cell_value(1,0))  

二、封装读取Excel

# coding:utf-8
import xlrd

class DataTest:

    def __init__(self, filepath, sheetindex=0):
        self.data = xlrd.open_workbook(filepath)
        self.table = self.data.sheets()[sheetindex]
        self.rows = self.table.nrows
        self.cols = self.table.ncols
        #将第一行的值作为key值,当选中的sheet总行数小于或等于1时提示
        if self.rows<=1:
            print("选中的sheet表格总行数小于1或者等于1,请检查并录入测试数据或者选择其他sheet")
        else:
            self.keys = self.table.row_values(0)

    def dataddt(self):
        if self.rows<=1:
            pass
        else:
            l = []
            x = 1
            for i in range(self.rows-1):
                d = {}
                #从第二行开始获取对应的values值
                values = self.table.row_values(x)
                for j in range(self.cols):
                    d[self.keys[j]] = values[j]
                l.append(d)
                x +=1
            return l
        
if __name__ == "__main__":
    file = r"C:Usersuser.xlsx"
    date = DataTest(file)
    test = date.dataddt()
    print(test[0]["username"])
    print(test[1]["password"])
    print(test[2]["test"])
原文地址:https://www.cnblogs.com/chen/p/10370612.html