大概这样写标题是对的吧。。。

目标:

通过excel目录结构文档生成文件夹树结构。

也就是:

通过下面的excel

生成下面的文档树结构:

方法:

1、分析:一般文档结构都是事先构思好。可以在txt文档里打草稿,粘贴至excel。如下:

这里要注意一个问题:从txt文档 -> excel文档粘贴时,默认如果txt分级为空格,那么在excel里只能是一列。如果在txt分级为tab,那么在excel中各为一列。当然,可以自己进行设置。

2、对excel文档结构进行路劲补全。如图:

3、写py脚本:

#coding:utf-8

importxlrdimportosimportsys

DIRPATH= os.path.dirname(os.path.realpath(__file__))

excelFILE= ur"%s"%sys.argv[1]#对中文字符转码,避免乱码

encodeText = lambda a : a.encode("gb2312")defget_data_by_xls(xlsfile):'''通过xls文档得到数据列表'''wb=xlrd.open_workbook(xlsfile)

table=wb.sheets()[0]

rows=table.nrowsfor i inrange(table.nrows):yieldtable.row_values(i)defcreateDir(dirPath,xList):'''应用递归,生成文档数'''

try:

rPath=os.path.join(dirPath,encodeText(xList[0]))try:

os.mkdir(rPath)

rList= xList[1:]except:

rList= xList[1:]

createDir(rPath,rList)except:pass

for i inget_data_by_xls(excelFILE):ifi:

createDir(DIRPATH,i)print "create dir complete!"

4、运行:

得到结构:

5、总结:

(1)生成文档时需对中文进行转码,不然导致乱码。

(2)生成文件夹时对路径进行递归处理。

(3)在excel文档目录中,各个目录均要补全为完整的路径。

(4)在获取目录列表时,该脚本使用了yield生成器,避免excel目录多占用过多内存的问题,但一般的excel倒是用不到。直接返回列表就OK了。

==============================================================================

人生苦短,我用python!

python如何生成excel文件夹_用python脚本通过excel生成文件夹树结构相关推荐

  1. python变成exe后启动弹出选文件窗口_通过.py脚本执行的.exe文件隐藏控制台窗口...

    我试图隐藏从EXE文件弹出的控制台窗口.我正在从我自己的EXE(一个Python脚本冻结通过PyInstaller)运行这个EXE.在 我发现,每当我通过IDLE或PyCharm运行脚本时,我都可以隐 ...

  2. python 打包 无需安装运行环境_无需Python环境,小白也可以运行的抢票程序

    阅读文本大概需要 5 分钟. 又到周末了,pk 哥抽空对抢票程序作了优化,并把优化后的程序做打包处理,打包后没有 Python 环境的电脑也可以正常运行程序了.前两篇关于抢票的文章没看可点下方链接查看 ...

  3. python高手养成百家号_使用Python制作一个GUI界面,将随机生成的姓名存入到Excel文件中...

    前面内容,我们详细介绍了如何使用Python生成一定数量的随机姓名. 如何用Python生成若干个随机姓名?男女取名有方法,不能千篇一律 之前,也提到过,我们在一些项目中,需要若干个随机姓名,为了节省 ...

  4. python生成多级文件夹_利用 python 遍历多级文件夹处理不同文件

    需求:近期,同事在处理文件的时候,常常需要从一堆文件中提取一些数据信息: 分析:由于每个文件夹下面的文件或文件夹多如牛毛,文件类型也很多种,需要针对不同文件类型做处理,人工处理是不现实的,只能用脚本处 ...

  5. python合并excel文件关键字_使用 Python 合并多个格式一致的 Excel 文件,Excel 表格...

    一 问题描述 最近朋友在工作中遇到这样一个问题,她每天都要处理如下一批 Excel 表格:每个表格的都只有一个 sheet,表格的前两行为表格标题及表头,表格的最后一行是相关人员签字.最终目标是将每个 ...

  6. python打开excel进行编辑_使用Python进行Excel文件处理

    本章节选自本人著<Python Basic Tutorial>第十五章 15. Excel文件处理 15.1 引言 数据处理是Python的一大应用场景,正如我在本书之前所反复强调的,基于 ...

  7. linux 查找文件夹_用python打造一个基于socket的文件(夹)传输系统

    这段时间在学习python,接触到了网络编程中的socket这块,加上自己在用的Linux服务器都是原生支持python的,于是乎有了个做文件传输功能程序的想法. 毕竟python语言中,有下载功能的 ...

  8. python解压到指定文件夹_在Python中压缩和解压文件

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 如果你已经使用计算机一段时间,你可能遇到了.zip扩展名的文件.它们是可以保存许多其他文件,文件夹和子文件 ...

  9. python生成pdf文档_使用Python生成pdf文件

    Python平台的优秀PDF报表类库Reportlab.它不属于Python的标准类库,所以必须手动下载类库包并安装: yum install python-reportlab -y 这篇文章将介绍r ...

  10. python读取数据文件夹_使用python依次读取文件中的所有csv格式的数据

    使用python依次读取文件中的所有csv格式的数据: #coding=gbk import pandas as pd import os path = r'D:\ml_datasets\PHM\c6 ...

最新文章

  1. JS深入--词法作用域、执行上下文与闭包
  2. Cocoa的MVC架构分析
  3. axios04-文件上传
  4. gateway路由网关,zuul的替代品
  5. 各种数据库获取前10行记录实例
  6. Linux中的同步机制
  7. The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for called method
  8. 小米主办HBaseCon亚洲峰会,打造世界一流的“工程师理想乐园”
  9. C#—接口和抽象类的区别?
  10. StanfordDB class自学笔记 (15) Recursion
  11. Unity渲染性能优化总纲
  12. 计算机办公自动化试题及答案,计算机等级考试,办公自动化考试试题(三)
  13. 配置管理基本概念、配置管理计划、配置管理主要活动
  14. 初识Java Bean
  15. vb sendmessage 详解
  16. 由于找不到opencv_world430d.dll,无法继续执行代码的解决办法
  17. 社交网络电影人物解析,社交网络 电影解析
  18. Windows Store / Onenote 联网错误 无法打开 账号无法登录 Clash解决方案 错误代码0x80131500
  19. connectify-me破解
  20. Java 弹出对话框的几种方式

热门文章

  1. 深度融合 | 当推荐系统遇见知识图谱(三)
  2. linux下tail命令的用法,在Linux命令中tail的用法
  3. Leetcode刷题之旅1
  4. Leetcode每日一题:226.invert-binary-tree(翻转二叉树)
  5. python字符串二(find();index();count();rfind();rindex();replace();替换;.split();分割;join();合并)
  6. 深度学习-吴恩达-笔记-5-深度学习的实践层面
  7. AJPFX浅谈关于Java程序员缺乏面向对象的基本功的问题
  8. 微信发送模版消息,PHP代码简单案例
  9. 拆轮子系列--RxJava理解(三)--observeOn
  10. 第十九:如何在Windows下把Allure2与Jenkins的集成生成自定义的测试报告(重点超详细)