昨天我们学习了如何批量制作合适的二维码,今天来刷几道题练练手!
秋招来了!hr部门需要获得简历初筛后的候选者名单,所有候选者简历都按照“小明_xx大学.pdf”命名放在文件夹内,使用昨天学习的内容,可以迅速获取候选人名单么
步骤如下:
获取文件夹内所有文件的名称;
如果文件名里有"_",就分割文件名,获取第一个元素即姓名;
将所有的名称放入列表中,并输出。
文件夹路径:“/Users/minmin/简历合集”
# 导入os模块
import os
# 将文件夹路径"/Users/minmin/简历合集",赋值给变量pathFile
pathFile = "/Users/minmin/简历合集"
# 使用os.listdir()函数获取该路径下所有文件名,并赋值给变量allItems
allItems=os.listdir(pathFile)
# 初始化列表name_list,存储名单
name_list = []
# for循环遍历allItems,赋值给变量item
for item in allItems:
# 如果文件名有"_"
if("_" in item):
# 通过"_"分割文件名
# 索引第一个元素赋值给变量name
name=item.split("_")[0]
# 使用append方法将name添加到name_list中
name_list.append(name)
# 使用print()输出name_list
print(name_list)
年末啦,邹邹任职的公司组织了年会,年会上怎么少得了抽奖呢!从 1-200 的工号中随机抽取一位数,并找出对应的员工姓名,这该怎么实现呢?
步骤如下:
从 1- 200 中随机成生成一个数;
读取 Excel 文件,获取第一张工作表中非表头数据;
按行遍历工作表中的数据,将每一行的数据放在列表中;
工作表部分截图
rows = table.nrows
print(rows)
2️⃣从列表中随机选取一个元素
import random
num = random.randint([1, 2, 3, 4])
print(num)
示例代码如下:
# 导入xlrd
import xlrd
# 导入 random
import random
# 将Excel文件夹路径/Users/minmin/资料.xlsx,赋值给变量path
path = "/Users/minmin/资料.xlsx"
# 读取path的工作簿并赋值给变量data
data = xlrd.open_workbook(path)
# 使用sheets()获取工作表对象,索引第一个元素赋值给变量table
table = data.sheets()[0]
# 获取table的行数,并赋值给变量rows
rows=table.nrows
# 随机从1到200选一个数,赋值给num
num=random.randint(1,200)
# for循环遍历工作表非表头的行数,赋值给变量row
for row in range(1,rows):
# 使用row_values()得到工作表的对应行数据,并赋值给变量data_row
data_row=table.row_values(row)
# 如果列表data_row第一个元素为num
if(data_row[0]==num):
# 将列表第二个元素赋值给name
name=data_row[1]
# 格式化输出"获奖者是工号为{工号}的{名字}"
print(f"获奖者是工号为{num}的{name}")
break # 退出循环!
天啊~敏敏在整理同事们的头像时,不小心混入了非公司员工的图片,要一一比对查找出可太费时了,这可怎么办呀
通过今天的学习敏敏想到了好办法,可以将Excel文件中的名字与文件夹中的文件名进行比对,找出不小心混入的图片。
解题步骤:
导入 xlrd 模块,使用 xlrd.open_workbook() 读取指定工作簿,sheets() 获取第一个工作表,col_values() 将表格中的名字全部提取出来;
导入 os 模块,使用 os.listdir() 获取文件夹路径下所有文件名;
遍历存储文件名的列表;
文件路径:
Excel 文件:/Users/minmin/资料.xlsx
头像文件夹:/Users/minmin/Selfie
示例代码如下:
# 冲
import xlrd
path="/Users/minmin/资料.xlsx"
data=xlrd.open_workbook(path)
work1=data.sheets()[0]
work1Names=work1.col_values(1)
import os
pathFile="/Users/minmin/Selfie"
fileName=os.listdir(pathFile)
count=0
for name in fileName:
if(name!=".DS_Store"):
myname=name.split(".")[0]
if myname in work1Names:
count+=1
else:
print(f"{myname}非公司员工")