获取文件夹下的所有文件名并保存在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+"文件已经存在!!!")
总结:
表格的操作,主要如下:
-
import和表格相关的库
import openpyxl
-
创建表格
xlsx_wb = Workbook()
-
创建表格中的某一个sheet
xlsx_wb.create_sheet(title=dir_list[i])
-
通过sheet名字获得sheet表单
sheet = xlsx_wb[dir_list[i]]
-
使用sheet的方法操作表格
sheet.append等
-
保存表格,并命名
xlsx_wb.save(xlsxname)
小尾巴
出差必备:
买火车票、高铁票、机票,订酒店都打9折的出行工具TRIP,点击注册
优惠购物:
你还在傻傻的原价淘宝吗?来这里领取内部优惠券,折扣力度非常大!点击注册,注册需要邀请码UWD9Q9E。