• Python将文件夹下的文件名写入excel方便统计


    如题,贴代码:

     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")

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

  • 相关阅读:
    C/C++网络编程2——socket函数
    C/C++网络编程1——linux下实现
    nginx_2_nginx进程模型
    nginx_1_初始nginx
    C++11并发编程4------线程间共享数据
    C++11并发编程3------线程传参
    C++11并发编程2------线程管理
    C++11并发编程1------并发介绍
    打造自己的开发环境
    gcc/g++/make/cmake/makefile/cmakelists的恩恩怨怨
  • 原文地址:https://www.cnblogs.com/mafu/p/13931850.html
Copyright © 2020-2023  润新知