互联网科技嵌入式编程程序员

获取文件夹下的所有文件名并保存在xlsx

2020-05-01  本文已影响0人  罗蓁蓁

这篇文章主要通过一个案例来说明Python是如何操作表格。

这对于文档编辑者来说,非常有用。

可见,Python,everyone need to learn.

代码如下:

#!/usr/bin/env python
#-*- coding: utf-8 -*-
#get file to store in xlsx
#
#####################################################

import os
import shutil
from openpyxl import load_workbook
from openpyxl import Workbook


#获得文件路径列表
def get_file_path_list(file_path,filetype):
    file_list = []
    if file_path is None:
        raise Exception('source_path is None')
    
    for dirpath,dirnames,filenames in os.walk(file_path):
        for name in filenames:
            if os.path.splitext(name)[1] in filetype:
                dirpath = dirpath.replace(file_path,"")
                dirpath = dirpath.replace("\\","/")
                file_list.append(dirpath + '/' + name)
    return file_list


#将文件夹下面的文件写入xlsx中
def write_filename_to_xlsx(srcpath,xlsxname,file_type):
    dir_list = []
    xlsx_wb = Workbook()
    dir_list = os.listdir(srcpath)
    for i in range(0,len(dir_list)):
        if not os.path.isfile(dir_list[i]):
            xlsx_wb.create_sheet(title=dir_list[i])
            sheet = xlsx_wb[dir_list[i]]    #通过sheet名字获得sheet表单
            file_list = get_file_path_list(srcpath+"/"+dir_list[i],file_type)
            for i in range(0,len(file_list)):
                sheet.append([file_list[i],os.path.basename(file_list[i]),"TRUE"])
                print(file_list[i])
    del xlsx_wb["Sheet"]    #删除创建时,默认的Sheet表格对象
    xlsx_wb.save(xlsxname)


#获得所有文件名输入到xlsx文件中,为以后修改文件名提供输入文件
if __name__ == '__main__':
    source_path = input("请输入要搜索的源文件目录:\n")
    xlsx_name = "头文件名替换表.xlsx"  #导出的文件名
    #文件类型列表
    file_type_list = ['.h']
    if not os.path.exists(xlsx_name):
        #拷贝指定类型的文件
        write_filename_to_xlsx(source_path,xlsx_name,file_type_list)
    else:
        print("error:"+xlsx_name+"文件已经存在!!!")

总结:

表格的操作,主要如下:

小尾巴

出差必备:
买火车票、高铁票、机票,订酒店都打9折的出行工具TRIP,点击注册

优惠购物:
你还在傻傻的原价淘宝吗?来这里领取内部优惠券,折扣力度非常大!点击注册,注册需要邀请码UWD9Q9E。

上一篇下一篇

猜你喜欢

热点阅读