将文件夹中的文件信息统计写入到csv中

2019-09-18 16:18:03 浏览数 (1)

今天在整理一些资料,将图片的名字信息保存到表格中,由于数据有些多所以就写了一个小程序用来自动将相应的文件夹下的文件名字信息全部写入到csv文件中,一秒钟搞定文件信息的保存,省时省力!

下面是源代码,和大家一起共享探讨:

代码语言:javascript复制
import os
import csv

#要读取的文件的根目录
root_path=r'C:UserszjkDesktopXXX'

# 获取当前目录下的所有目录信息并放到列表中
def getDirs(root_path):
    path_lists = []
    dirs = os.listdir(root_path)
    for dir in dirs:
        path_lists.append(os.path.join(root_path, dir))
    return path_lists


#将所有目录下的文件信息放到列表中
def get_Write_file_infos(path_lists):
    # 文件信息列表
    file_infos_list=[]
    for path in path_lists:
        # 遍历并写入文件信息
        for root, dirnames, filenames in os.walk(path):
            for filename in filenames:
                file_infos = {}
                dirname=root.split('\')[6]
                filename1 = filename.split('.jpg')[0]
                file_infos["分类名称"]=dirname
                file_infos["文件名称"]=filename1
                #追加字典到列表中
                file_infos_list.append(file_infos)
    return file_infos_list


#写入csv文件
def write_csv(file_infos_list):

    with open('2.csv','a ',newline='') as csv_file:
        csv_writer = csv.DictWriter(csv_file,fieldnames=['分类名称','文件名称'])
        csv_writer.writeheader()
        for each in file_infos_list:
            csv_writer.writerow(each)

#主函数
def main():
    path_lists = getDirs(root_path)
    file_infos_list=get_Write_file_infos(path_lists)
    write_csv(file_infos_list)


#主程序入口

if __name__ == '__main__':
    main()

0 人点赞