python 写了一个批量拉取文件进excel文档

路径如:

C:\\Users\\huaqi\\Desktop\\信息收集

“信息收集”目录下有以下子目录:
[技术,客服,运营,行政]

“技术”目录下有以下子文件:
[小白.txt,小红.txt,小黑.txt]

"客服"目录下有以下子文件
[小水.txt,小元.txt,小海.txt]
“运营”目录下无文件.

“行政”目录下有以下子文件:
[小玲.txt,小飞.txt]

.txt文本是通过bat文件生成 (如需要私聊)
import os
import xlsxwriter
workbook = xlsxwriter.Workbook('C:\\Users\\huqqi\\Desktop\\test.xlsx') #生成xlsx文档
worksheet = workbook.add_worksheet('demo')

bold = workbook.add_format({'bold':True})

worksheet.set_column('A:A',20)#设置宽度
worksheet.set_column("B:B",15)#设置宽度
worksheet.set_column("F:F",16)#设置宽度
worksheet.set_column("G:G",25)#设置宽度

l = ["A",'B','C','D','E','F','G','H','I']

worksheet.write('A1','电脑型号',bold)
worksheet.write('B1','制造商',bold)
worksheet.write('C1','SN序列号',bold)
worksheet.write('D1','姓名',bold)
worksheet.write('E1','部门',bold)
worksheet.write('F1','资产编号',bold)
worksheet.write('G1','处理器',bold)
worksheet.write('H1','内存容量',bold)
worksheet.write('I1','硬盘容量',bold)

#打开文档
def open_file(data_path):
    data_list = []
    with open(data_path,"r") as f1:
        for line in f1:
            data = line.strip()   #去掉首尾空白
            if len(data) != 0:    #去掉空行
                data = line[:-1]  #切片除去最后一个字符(换行符)
                #print(data.split("")[1]) #获取数据 0表示key 1表示value
                data =data.split("")[1]
                data_list.append(data)
    #print(data_list[0:9])
    return data_list[0:9]         #返回单个文件的数据列表

#写入xlsx 单个数据写入  wc表示从第一行开始 1
def write_xlsx(data,wc):
    for i in range(len(data)):
        #print(data[i])
        a = l[i]+str(i+2) #
        worksheet.write(l[i]+str(wc+1),data[i])
        
#循环目录下的文件
def loop_file(data_path):
    file_list = []
    path = os.listdir(data_path)  #建立当前路径下的文件列表 如硬件信息收集下的列表[技术,运营,客服,行政]

    for i in path:        
        sec_path_file = os.listdir(data_path+"\\"+i)   #
        for j in sec_path_file:
            if os.path.exists(data_path+"\\"+i+"\\"+j):  #判断是否为空文件
                file_list.append(data_path+"\\"+i+"\\"+j)
    return file_list
    
    

#data_file = loop_file("C:\\Users\\huaqi\\Desktop\\信息收集")

def main(): #主函数
    data_path = "C:\\Users\\huaqi\\Desktop\\信息收集" #收集信息目录
    count = 1
    for eve_path in loop_file(data_path):  #每次循环拉取的文件
        write_xlsx(open_file(eve_path),count) 
        count += 1
    workbook.close()
main()

 

posted @ 2018-05-15 14:21  想翻身的猫  阅读(897)  评论(0编辑  收藏  举报