zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    Java中equals和==的区别
    Mybatis中#{}和${}
    AJAX发送带Header的请求
    golang定时任务
    mysql中一条insert语句批量插入多条记录
    golang 从mysql取datetime类型数据
    MySQL 慢查询日志
    mysql日志文件开启及详解:General_log 和 Binlog
    如何在普清的屏上调试CSS样式二倍图背景
    transition、animation在macbook air上图片动画边缘抖动
  • 原文地址:https://www.cnblogs.com/Liang-jc/p/9040746.html
Copyright © 2011-2022 走看看