如题,贴代码:

  1. 1 '''
  2. 2 #python将某文件夹下的文件名存储到excel中
  3. 3 '''
  4. 4
  5. 5 #导入所需模块
  6. 6 import os
  7. 7 import xlwt
  8. 8
  9. 9 #定义要处理的文件路径(文件夹)
  10. 10 file_dir = "D:/"
  11. 11
  12. 12 #将文件名列出并存储在allfilenames里面
  13. 13 allfilenames = os.listdir(file_dir)
  14. 14 #打印看是否符合预期
  15. 15 print(allfilenames)
  16. 16
  17. 17 #创建工作簿
  18. 18 workbook = xlwt.Workbook()
  19. 19 #新建工作表,并且命名为fileNames
  20. 20 worksheet = workbook.add_sheet('fileNames')
  21. 21
  22. 22 #开始往表格里写文件名
  23. 23 n = 0 #定义起始行数
  24. 24 for i in allfilenames:
  25. 25 worksheet.write(n, 0, i) #向单元格里内写入i
  26. 26 n += 1 #写完一个i写完一行后n自加1
  27. 27
  28. 28 #保存工作簿
  29. 29 workbook.save('D:/Python代码素材/excel自动化办公/2020-11-05-filenames-excel.xls')

最终效果:

补充,利用xlwt带格式写入,模板如下:

代码如下:

  1. 1 '''
  2. 2 #python利用模板格式对某文件夹下的文件名写入excel
  3. 3 '''
  4. 4 #导入所需模块
  5. 5 import os
  6. 6 import xlwt
  7. 7 import xlrd
  8. 8 from xlutils.copy import copy
  9. 9
  10. 10 #定义要处理的文件夹
  11. 11 file_dir = "D:/"
  12. 12 #列出文件名并保存到allfilenames
  13. 13 allfilenames = os.listdir(file_dir)
  14. 14 #打印是否符合预期
  15. 15 print(allfilenames)
  16. 16
  17. 17 #读取模板
  18. 18 tem_excel = xlrd.open_workbook('D:/Python代码素材/excel自动化办公/文件名模板.xls',formatting_info=True)
  19. 19 tem_sheet = tem_excel.sheet_by_index(0)
  20. 20
  21. 21 #复制模板
  22. 22 new_excel = copy(tem_excel)
  23. 23 new_sheet = new_excel.get_sheet(0)
  24. 24
  25. 25 #定义格式
  26. 26 style = xlwt.XFStyle()
  27. 27 #定义字体
  28. 28 font = xlwt.Font()
  29. 29 font.name = "微软雅黑"
  30. 30 font.bold = True
  31. 31 font.height = 360
  32. 32 #将字体样式写入到总样式
  33. 33 style.font = font
  34. 34
  35. 35 #定义边框
  36. 36 borders = xlwt.Borders()
  37. 37 borders.top = xlwt.Borders.THIN
  38. 38 borders.right = xlwt.Borders.THIN
  39. 39 borders.bottom = xlwt.Borders.THIN
  40. 40 borders.left = xlwt.Borders.THIN
  41. 41 #将边框样式写入到总样式
  42. 42 style.borders = borders
  43. 43
  44. 44 #定义对齐样式
  45. 45 alignment = xlwt.Alignment()
  46. 46 alignment.horz = xlwt.Alignment.HORZ_CENTER
  47. 47 alignment.vert = xlwt.Alignment.VERT_CENTER
  48. 48 #将对齐样式写入到总样式
  49. 49 style.alignment = alignment
  50. 50
  51. 51 #定义起始行数,模板里的要求是从第二行写入
  52. 52 n = 1
  53. 53 #开始循环
  54. 54 for i in allfilenames:
  55. 55 new_sheet.write(n, 0, i, style) #在指定行和第一列写入i并附带我们规定的样式
  56. 56 n += 1 #每次循环完后行数n自增1
  57. 57
  58. 58 #保存工作簿
  59. 59 new_excel.save("D:/Python代码素材/excel自动化办公/2020-11-05-tem-xlrd-excel.xls")

效果:

第三,利用openpyxl带格式写入,模板还是上面的模板。

  1. 1 import os
  2. 2 import openpyxl
  3. 3
  4. 4 #定义要处理的文件夹
  5. 5 file_dir = "D:/"
  6. 6 #列出文件名
  7. 7 allfilenames = os.listdir(file_dir)
  8. 8 print(allfilenames)
  9. 9
  10. 10 #导入模板
  11. 11 tem_excel = openpyxl.load_workbook("D:/Python代码素材/excel自动化办公/文件名模板_openpyxl.xlsx")
  12. 12 tem_sheet = tem_excel['Sheet1']
  13. 13
  14. 14 #用个笨办法,还没有想到好办法,先确定有多少文件
  15. 15 print(len(allfilenames)) #22
  16. 16 #开始写入
  17. 17
  18. 18 tem_sheet['A2'] = allfilenames[0]
  19. 19 tem_sheet['A3'] = allfilenames[1]
  20. 20 tem_sheet['A4'] = allfilenames[2]
  21. 21 tem_sheet['A5'] = allfilenames[3]
  22. 22 tem_sheet['A6'] = allfilenames[4]
  23. 23 tem_sheet['A7'] = allfilenames[5]
  24. 24 tem_sheet['A8'] = allfilenames[6]
  25. 25 tem_sheet['A9'] = allfilenames[7]
  26. 26 tem_sheet['A10'] = allfilenames[8]
  27. 27 tem_sheet['A11'] = allfilenames[9]
  28. 28 tem_sheet['A12'] = allfilenames[10]
  29. 29 tem_sheet['A13'] = allfilenames[11]
  30. 30 tem_sheet['A14'] = allfilenames[12]
  31. 31 tem_sheet['A15'] = allfilenames[13]
  32. 32 tem_sheet['A16'] = allfilenames[14]
  33. 33 tem_sheet['A17'] = allfilenames[15]
  34. 34 tem_sheet['A18'] = allfilenames[16]
  35. 35 tem_sheet['A19'] = allfilenames[17]
  36. 36 tem_sheet['A20'] = allfilenames[18]
  37. 37 tem_sheet['A21'] = allfilenames[19]
  38. 38 tem_sheet['A22'] = allfilenames[20]
  39. 39 tem_sheet['A23'] = allfilenames[21]
  40. 40
  41. 41 #另存为
  42. 42 tem_excel.save("D:/Python代码素材/excel自动化办公/2020-11-05-openpyxl-filename.xlsx")

最后一段代码求改进方法。

Python将文件夹下的文件名写入excel方便统计的更多相关文章

  1. [python]获取文件夹下所有文件名

    #---picknames.py---import os filenames = os.listdir(os.getcwd()) for name in filenames: print(name)

  2. Python获取指定文件夹下的文件名

    本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, t ...

  3. Python遍历一个文件夹下有几个Excel文件及每个Excel文件有几个Sheet

    一. 解决问题: 工作中常会遇到合并Excel文件的需求,Excel文件数量不确定,里面的Sheet 数量是可变的,Sheet Name是可变的,所以,需要用到遍历一个文件夹下有几个Excel文件,判 ...

  4. cocos2d-x3.2下获取文件夹下所有文件名的方法

    这里提供一个函数获取文件夹下所有文件名的方法,直接上代码了. 原文地址:http://blog.csdn.net/qqmcy/article/details/36184733 // //  Visib ...

  5. Matlab获取文件夹下所有文件名并将数据按矩阵赋值给变量

    一.获取一个文件夹下所有文件名: fileFolder=fullfile('D:\MATLAB\bin\trc'); dirOutput=dir(fullfile(fileFolder,'*.trc' ...

  6. Matlab获取一个文件夹下所有文件名

    Matlab获取一个文件夹下所有文件名: fileFolder=fullfile('D:\MATLAB\bin\trc'); dirOutput=dir(fullfile(fileFolder,'*. ...

  7. c/c++获取文件夹下所有文件名

    如何获取某一文件夹下所有文件名,是一个很有意思的问题.网上代码很多,找了个简单的,特此收录. #include <iostream> #include <io.h> #incl ...

  8. python遍历文件夹下的文件

    在读文件的时候往往需要遍历文件夹,python的os.path包含了很多文件.文件夹操作的方法.下面列出: os.path.abspath(path) #返回绝对路径 os.path.basename ...

  9. C++获取文件夹下所有文件名

    查找文件需要一个结构体和几个函数.结构体为struct _finddata_t,函数为_findfirst.findnext和_findclose. struct _finddata_t 这个结构体是 ...

随机推荐

  1. Python多线程join和setDaemon区别与用法

    一直没有太搞清楚join和setDaemon有什么区别,总是对于它们两个的概念很模糊,需要做个实验然后记录一下. 先说结论: join: 子线程合并到主线程上来的作用,就是当主线程中有子线程join的 ...

  2. 【CF983C】elevator——记忆化搜索

    (题面来自luogu) 题意翻译 题意 一个9层的楼有一个可以容纳4个人的电梯,你要管理这个电梯. 现在各层楼上有一些在排队的人,你知道他们在哪层要到哪层去.你也知道到电梯门口的顺序.根据公司的规定, ...

  3. Codeforces Round #488 by NEAR (Div. 2)

    A 开个桶记录是否出现即可. 时间复杂度 \(O\left(n+m\right)\). B 按能力值从小到大依次加入,然后维护前 \(k\) 大的金币数即可. 时间复杂度 \(O\left(n\log ...

  4. Mybatis入门及第一个Mybatis程序

    Mybatis笔记整理 所需要的基础知识 JDBC Mysql Java基础 Maven Junit 框架:是有配置文件的.最好的方式:看官网文档 1.简介 1.1.什么是MyBatis 简介 什么是 ...

  5. Python之【模块】

    双层装饰器 一个函数可以被多个装饰器装饰: 多层装饰器的本质是:嵌套: 执行规则是:解释自下而上,执行自上而下 •简单的用户权限验证程序: USE_INFO = {} # 初始化一个字典,用户存放用户 ...

  6. PyQt(Python+Qt)学习随笔:QScrollBar以及QAbstractSlider滚动条部件功能详解

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 在Designer输入部件中Horizo ...

  7. PyQt学习随笔:自定义信号连接时报AttributeError: 'PyQt5.QtCore.pyqtSignal' object has no attribute 'connect'

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 如果使用自定义信号,一定要记得信号是类变量,必须在类中定义,不能在实例 ...

  8. PyQt(Python+Qt)学习随笔:QScrollArea滚动区域layout布局的作用及设置方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 滚动区域可以设置布局,布局的作用其实与其他布局一样,就是在滚动区域大小调整时,滚动区域内的子部件跟随 ...

  9. PyQt(Python+Qt)学习随笔:exit code 1073741845与槽函数所在对象不能定义同名实例方法问题

    最近做了几次测试,在PyQt中如果使用与槽函数同名的实例方法可能会导致不可控的错误. 案例1:如果两个信号映射到同名的槽函数,虽然参数不一样,但真正响应的槽函数是最后定义的槽函数,具体案例请见< ...

  10. spring整合mybatis01

    title: spring整合mybatis01 date: 2020-03-09 19:47:40 tags:整合的第一种方式 spring整合mybatis 1.mybatis回顾 mybatis ...