如题,贴代码:

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

最终效果:

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

代码如下:

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

效果:

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

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

    昨天,小编在一个讨论群里看到这样的对话     有人想要入学校编程俱乐部,面试时,学长问了她C++的区别,她没有答上来,就没有通过. 说到C和C++的区别,不只是进入学校社团有考核,出了学校,找工作面 ...

  2. 微信小程序 下拉刷新

    <scroll-view class='scroll-view-container' scroll-y="true" bindscrolltolower='scrollToL ...

  3. Java多线程中的虚假唤醒和如何避免

    先来看一个例子 一个卖面的面馆,有一个做面的厨师和一个吃面的食客,需要保证,厨师做一碗面,食客吃一碗面,不能一次性多做几碗面,更不能没有面的时候吃面:按照上述操作,进行十轮做面吃面的操作. 用代码说话 ...

  4. android studio报butterknife错误

    Error:Execution failed for task ':shipper:javaPreCompileDebug'.> Annotation processors must be ex ...

  5. go语言之---数组(array)和切片(slice)

    一.数组 1.什么是数组? 1.数组是一系列同一类型数据的集合 2.数组中包含的每个数据被称为数组元素 3.一个数组中包含的元素个数成为数组长度 4.数组的长度是固定的 5.一个数组可以由零个或者多个 ...

  6. Jdk源码-集合类主要原理和解析

    写在前面 熟悉Jdk原理的重要性不言而喻,作为Java开发者或者面试者,了解其实现原理也显得更为装逼,在Java读书计划我写到了,它是面试中最基础的一部分,所以单独拿出来做个总结,为了更好滴理解和学习 ...

  7. java并发编程实战《四》互斥锁(下)

    互斥锁(下):如何用一把锁保护多个资源?    一把锁可以保护多个资源,但是不能用多把锁来保护一个资源. 那如何保护多个资源? 当我们要保护多个资源时,首先要区分这些资源是否存在关联关系. 如下代码 ...

  8. 如何自动化你的Excel导入导出(Java)?

    GitHub | 中文 | English | 博客 为什么使用AutoExcel? Excel导入导出在软件开发中非常常见,只要你接触过开发,就一定会遇到.相信很多人会跟我一样选择用Apache P ...

  9. HBase的基本使用(安装配置、启动关闭、hbash shell的基本操作、phoenix、实战)

    HBase的前提条件: JDK SSH Hadoop JDK:Hadoop和JDK运行的环境,他们的守护进程运行在JVM下.HBase支持JDK 1.6以上的版本.比如: jdk-8u161-linu ...

  10. Hive数据导入HBase引起数据膨胀引发的思考

    最近朋友公司在做一些数据的迁移,主要是将一些Hive处理之后的热数据导入到HBase中,但是遇到了一个很奇怪的问题:同样的数据到了HBase中,所占空间竟增长了好几倍!详谈中,笔者建议朋友至少从几点原 ...