实现如下功能:
弹窗选择文件并获取文件路径,脚本读取这个XLSX工作表,找到第一行文本为“姓名”的列,开始从第二行遍历完这个列,读取每行文本值,并用文本值建立空白文件夹(重复出现的文本值请添加上第几次重复出现的次数数字避免覆盖)
import os
import sys
import xlrd #pip3 install xlrd==1.2.0 (只有这个低版本不报错)
from tkinter import filedialog
# 选择文件并获取文件路径
print("请选择文件!")
file_path = filedialog.askopenfilename()
print('\n获取的文件地址:', file_path)
# 读取XLSX工作表
workbook = xlrd.open_workbook(file_path)
# 获取第一个sheet
sheet = workbook.sheet_by_index(0)
try:
# 获取第一行文本为“姓名”的列
name_col = sheet.row_values(0).index('姓名')
# 从第二行开始遍历
for row in range(1, sheet.nrows):
# 获取每行文本值
name = sheet.cell_value(row, name_col)
# 建立空白文件夹
if os.path.exists(name):
# 如果文件夹已存在,添加上第几次重复出现的次数数字
i = 1
while os.path.exists(name + '_' + str(i)):
i += 1
os.mkdir(name + '_' + str(i))
else:
os.mkdir(name)
except:
print('没有找到第一行文本为“姓名”的列!')
print("生成完毕!")