如何用excel数据批量生成文件夹名称

1.用PySimpleGUI 做一个可视化窗口(用于批量生成文件夹名称);

2.窗口可以选择对应的文件路径存放所生成的文件夹, 选择指定路径下的excel;

3.选择要生成文件夹名称的excel的某一列的内容,读取该列行数总数并显示;

4.输入要生成的文件夹的名称的分别是从某一列中的第几行到第几行;

5.点击文件夹生成, 存放所生成的文件夹发生任何报错都会显示在可视化窗口内;

当前上传的版本是不带以下命名规则的, 所以在出现指定行内有空格时,遇到第二个空格,后面的所有内容将无法继续生成文件夹名称, 

解决方案1: 清除所有空格行,容易改变数据(不建议);

import PySimpleGUI as sg
import os
import pandas as pd

# 定义窗口布局
layout = [
    [sg.Text('选择文件路径:'), sg.Input(key='path'), sg.FolderBrowse()],
    [sg.Text('选择Excel文件:'), sg.Input(key='file'), sg.FileBrowse(file_types=(("Excel Files", "*.xlsx"),))],
    [sg.Text('选择列:'), sg.Input(key='col')],
    [sg.Button('读取列内容')],
    [sg.Text('行数:'), sg.Text('', key='rows')],
    [sg.Text('生成文件夹名称:从第'), sg.Input(key='start', size=(5, 1)), sg.Text('行到第'), sg.Input(key='end', size=(5, 1)), sg.Button('生成文件夹')],
    [sg.Output(size=(60, 10))],
    [sg.Button('退出')]
]

# 创建窗口
window = sg.Window('APP_004_批量生成文件夹名称_V01   ---AUTHOR: DIETER ', layout)

# 事件循环
while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED or event == '退出':
        break
    if event == '读取列内容':
        try:
            df = pd.read_excel(values['file'])
            col = int(values['col']) - 1
            rows = len(df.iloc[:, col])
            window['rows'].update(rows)
        except Exception as e:
            print(e)
    if event == '生成文件夹':
        try:
            path = values['path']
            start = int(values['start']) - 1
            end = int(values['end'])
            df = pd.read_excel(values['file'])
            col = int(values['col']) - 1
            for i in range(start, end):
                folder_name = str(df.iloc[i, col])
                os.makedirs(os.path.join(path, folder_name))
            print('文件夹生成成功!')
        except Exception as e:
            print(e)

# 关闭窗口
window.close()

解决方案2:

1.如果指定行内有出现空格,自动命名为NA_x, x为第几个空格;

2.如果有出现重复的名称,自动命名加后缀n,n是代表重复的次数;

解决方案2 我已经制作成了APP,并且基于此代码做了升级和更新,  没有python的电脑上面都可以操作,小程序

价格:8RMB/个(通用型),需要的留言。;

非通用型价格另算,可做数据定制处理等脚本开发,需要的留言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dieter.ding

祝老板码来财

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值