筛选出 1指定行( 编号中包含login的行),2指定列的值 放到列表中

发布时间 2023-07-28 13:39:43作者: 胖豆芽

第一版  写死了 列的值的下标,不够 人性化 ,还需要去数列在第几个位置

#  导包
import xlrd
# 第一步  根据包提供的方法 读某个路径下的xls
workbook = xlrd.open_workbook('../data/testcase.xls')
# 第二步   根据名字找某个表  每个excel里有Sheet1 Sheet2 等
worksheet = workbook.sheet_by_name('Sheet1')
print(worksheet) # Sheet  0:<Sheet1>
# 定义一个列表  存[(第下标1行里 test列里的值,test1列里的值),(第下标1行里 test列里的值,test1列里的值)]
xls_data = []
index=0
# 获取某个行,列单元格里的值
# 判断该行是否符合标准   根据编号列是否包含 login来判断
for  one in worksheet.col_values(0):
    # 如果包含了login 则追加到列表中
    if 'login' in one:
        print(one)
        '''
        login001
        login002
        '''
        index += 1
        value1 = worksheet.cell_value(index, 4)  # 行  列
        value2 = worksheet.cell_value(index, 5)  # 行  列
        # 追加到列表中
        xls_data.append((value1,value2))
print(xls_data) #  [("code': 20000", '高'), ("code': 9999", '低')]

第二版  传入指定列的名称