【行政办公系列】Python批量创建文件夹
HDUZN

问题描述

比如我需要收集公司全部员工的一些资料(比如健康码等公开资料),现在手上有个名单列表。

如果每个人都私发给我,还得自己保存、整理(重命名等)。
为了方便整理,于是,我就可以建个文件夹,在里面给每个人建个单独的文件夹,当然这些文件夹都是空的。

然后把整个文件夹上传到钉钉群就可以了。群成员找到文件夹里自己名字的文件夹,对应上传资料就行了。

当然,上面只是举个例子,而且是用钉钉的,为了方便上传人员直接手机操作。

此文主要介绍用Python读取Excel中姓名列表,再批量创建姓名为名的文件夹的方法。

实现思路

  • 读取Excel表中姓名列的数据
  • 循环一下姓名列表(List),依次创建文件夹

一、用openpyxl库读取Excel表格

openpyxl 库是Python用来操作Excel表格(.xlsx)一个库。这里只简单介绍怎么读取一列数据,不作详细介绍。

比如有这样一张表:A号是序号,B列是姓名。
然后我想要的文件夹名是序号+姓名。

就可以先在C列中用公式A1&B1把A列和B列的字符串拼起来。
因为Python读取Excel不确定是读取到本质的公式,还是值;所以把C列再复制一列D列出来(只复制值)。如下图所示:

所以,我们只需要把D列的数据读出来就可以了。

1.安装openpyxl 库

1
pip install openpyxl

2.读取Excel一列(D列)数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import openpyxl

# 从 Excel文件中读取 指定列(col_name) 的数据返回List
def read_from_excel_by_col_name(ex_file, sheet_name, col_name):
if(os.path.exists(ex_file)):
book = openpyxl.load_workbook(ex_file)
sheet = book[sheet_name]
else:
return False

value_list = []
for col_num in sheet[col_name]:
value_list.append(col_num.value)
book.close()
return value_list

# name_list 即获取到的姓名列表 e.g ['1荀彧','2荀攸']
name_list = read_from_excel_by_col_name('信息表.xlsx', 'Sheet1', 'D')

二、创建文件夹

这个简单,直接用Python自带的os库的makedirs()方法就行。

1
2
3
4
5
6
7
8
import os

# 创建一个文件夹
def mkdir(path):
outdir = os.path.exists(path)
if not outdir:
os.makedirs(path)

三、完整代码举例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import os
import openpyxl

# 从 Excel文件中读取 指定列(col_name) 的数据返回List
def read_from_excel_by_col_name(ex_file, sheet_name, col_name):
if(os.path.exists(ex_file)):
book = openpyxl.load_workbook(ex_file)
sheet = book[sheet_name]
else:
return False

value_list = []
for col_num in sheet[col_name]:
value_list.append(col_num.value)
book.close()
return value_list

# 创建文件夹
def mkdir(path):
outdir = os.path.exists(path)
if not outdir:
os.makedirs(path)

def main():
ex_file = r'.\ex\信息表.xlsx'
collect_path = r'D:\test信息收集'

# 获取姓名列表
name_list = read_from_excel_by_col_name(ex_file, 'Sheet1', 'D')
# print(name_list)

# 批量创建文件夹
for name in name_list:
mkdir(collect_path + '\\' + name) # 创建文件夹

main()
# print(os.getcwd()) # 查看当前工作目录路径

运行后结果如图所示:

  • 本文标题:【行政办公系列】Python批量创建文件夹
  • 本文作者:HDUZN
  • 创建时间:2022-05-14 20:12:00
  • 本文链接:http://hduzn.cn/2022/05/14/【行政办公系列】Python批量创建文件夹/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论