吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3345|回复: 22
收起左侧

[Python 转载] python源码 文件夹目录整理生成excel

  [复制链接]
话痨司机啊 发表于 2022-4-9 19:35
代码是整理在文件所在目录下的文件,生成一个目录,用处就是在nas或者远程计算机,当文件过多,无法用everything的时候,使用这个代码生成excel,方便查找需要的文件。
以下有两个版本,一个是深度版,一个是浅版本。

此为深版本
[Python] 纯文本查看 复制代码
import pandas as pd
import pathlib as ph
import os

'''
@datetime :2022年4月9日
说明:
本程序主要作用是提取文件夹内的子文件夹和子文件夹内的文件,将其写入excel
'''


class ExcelDirectory:
    def __init__(self, directory):
        self.directory = directory

    def get_dirfile(self):
        return [(root, files) for root, dirs, files in os.walk(self.directory)]

    def df_write(self):
        dir_list = self.get_dirfile()
        df = pd.DataFrame(dir_list, columns=['根目录', '文件'])
        pd.set_option('display.max_columns', None)
        df['文件'] = df['文件'].apply(lambda x: 'null' if x == [] else x)  # 将【】变为null
        cols = [x for i, x in enumerate(df.index) if df.iat[i, 1] == 'null']  # 过滤null
        df = df.drop(cols, axis=0)  # 删除 null
        df.drop(index=0, axis=0, inplace=True)  # 删除第一行
        df3 = df.explode('文件')  # 拆开列表,笛卡尔算法重新排列,将索引和列重新增加匹配
        df3.to_excel('test.xlsx', index=False)  # 因不需要索引,所以未重置索引直接输出为excel文件

    def run(self):
        self.df_write()



if __name__ == '__main__':
    p = ph.Path(__file__).parent  # 本地文件夹
    ExcelDirectory(p).run()  # 直接运行


此为浅版本

[Python] 纯文本查看 复制代码
import os
import xlwings as xw


class List_Filenames():

    def __init__(self,xlsx_filenames):
        self.xlsx_path = xlsx_filenames
        self.app = xw.App(visible=False, add_book=True) # 程序可见,只打开不新建工作薄
        self.app.display_alerts = False # 警告关闭
        self.app.screen_updating = False # 屏幕更新关闭

    def __add_sheet(self):
        self.wb = self.app.books.add()
        self.sheet = self.wb.sheets.active

    def write_sheet(self):

        i = 1
        for path in os.listdir(os.path.dirname(__file__)):
            if os.path.isdir(os.path.join(os.path.dirname(__file__),path)):
                for filename in os.listdir(os.path.join(os.path.dirname(__file__),path)):
                    self.sheet.range('A%s'%i).options(transpose=True).value = path
                    self.sheet.range('B%s'%i).options(transpose=True).value = filename
                    i = i + 1


    def __save_work(self):
        self.wb.save(self.xlsx_path) # 保存文件


    def __close_work(self):
        self.wb.close() # 关闭文件
        self.app.quit() # 关闭程序

    def main(self):
        self.__add_sheet()
        self.write_sheet()
        self.__save_work()
        self.__close_work()


if __name__ == '__main__':
    xlsx_filenames = 'test22.xlsx'
    lst_sheet = List_Filenames(xlsx_filenames)
    lst_sheet.main()

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 话痨司机啊 发表于 2022-4-11 13:17
本帖最后由 话痨司机啊 于 2022-4-11 13:40 编辑
科大的思念 发表于 2022-4-10 21:45
姓名        身份证号码        手机号码        "是否本人手机
1=是,2=否"        所在县(市/区)        所在镇(街道)        所在村(社区)        现居住 ...

链接: https://pan.baidu.com/s/10oJ6vLU-JgjrUTjpw7FXww?pwd=kxhb 提取码: kxhb 复制这段内容后打开百度网盘手机App,操作更方便哦

测试没问题,有问题私信给我!



科大的思念 发表于 2022-4-10 21:45
话痨司机啊 发表于 2022-4-10 20:11
[mw_shl_code=python,true]

from selenium import webdriver

姓名        身份证号码        手机号码        "是否本人手机
1=是,2=否"        所在县(市/区)        所在镇(街道)        所在村(社区)        现居住详细地址        户籍所在地 单位名称 是否常住   这是表格内容
 楼主| 话痨司机啊 发表于 2022-4-9 21:04
dillonqi 发表于 2022-4-9 21:07
学习一下。
ycmingtian 发表于 2022-4-9 21:20
很实用,谢谢
公元2099 发表于 2022-4-10 07:36
[Asm] 纯文本查看 复制代码
dir /s /n >文件目录.txt


类似这个?
zsz1204 发表于 2022-4-10 08:19
请问运行速度快不快?
 楼主| 话痨司机啊 发表于 2022-4-10 09:59
zsz1204 发表于 2022-4-10 08:19
请问运行速度快不快?

笛卡尔计算的那个比后面的那个快一些
 楼主| 话痨司机啊 发表于 2022-4-10 10:00

类似 dir /s /n ,主要远程计算机用这个,windows下用everything 更方便一些
科大的思念 发表于 2022-4-10 11:16
能帮忙设计一款批量登记程序吗?excel信息 进入http://36.99.39.228:9830/zhouk-qrcode/#/personal 生产二维码
 楼主| 话痨司机啊 发表于 2022-4-10 12:33
科大的思念 发表于 2022-4-10 11:16
能帮忙设计一款批量登记程序吗?excel信息 进入http://36.99.39.228:9830/zhouk-qrcode/#/personal 生产二 ...

把设计方案给我
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 06:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表