路径如:

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',)#设置宽度
worksheet.set_column("B:B",)#设置宽度
worksheet.set_column("F:F",)#设置宽度
worksheet.set_column("G:G",)#设置宽度 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) != : #去掉空行
data = line[:-] #切片除去最后一个字符(换行符)
#print(data.split(":")[]) #获取数据 0表示key 1表示value
data =data.split(":")[]
data_list.append(data)
#print(data_list[:])
return data_list[:] #返回单个文件的数据列表 #写入xlsx 单个数据写入 wc表示从第一行开始
def write_xlsx(data,wc):
for i in range(len(data)):
#print(data[i])
a = l[i]+str(i+) #
worksheet.write(l[i]+str(wc+),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 =
for eve_path in loop_file(data_path): #每次循环拉取的文件
write_xlsx(open_file(eve_path),count)
count +=
workbook.close()
main()

python 写了一个批量拉取文件进excel文档的更多相关文章

  1. Python 写了一个批量生成文件夹和批量重命名的工具

    Python 写了一个批量生成文件夹和批量重命名的工具 目录 Python 写了一个批量生成文件夹和批量重命名的工具 演示 功能 1. 可以读取excel内容,使用excel单元格内容进行新建文件夹, ...

  2. 1、关于python第三方工具操作xls和xlsx格式的excel文档选型的吐血经历

    首先,最近看了python的一本书,其中第7章是关于文章操作的,就计划把python操作excel,word,txt,xml,html,json等格式的文档做个总结,并实现一些功能,但是,第一步就要把 ...

  3. Chimm.Excel —— 使用Java 操作 excel 模板文件生成 excel 文档

    Chimm.Excel -- 设置模板,填充数据,就完事儿了~ _____ _ _ _____ _ / __ \ | (_) | ___| | | | / \/ |__ _ _ __ ___ _ __ ...

  4. 初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助

    初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: var fs = require('f ...

  5. 我最近用Python写了一个算法,不需要写任何规则就能自动识别一个网页的内容

    我最近用Python写了一个算法,不需要写任何规则就能自动识别一个网页的内容,目前测试了300多个新闻网站的新闻页,都能准确识别

  6. 用Python写了一个postgresql函数,感觉很爽

    用Python写了一个postgresql函数,感觉很爽 CREATE LANGUAGE plpythonu; postgresql函数 CREATE OR REPLACE FUNCTION myfu ...

  7. 可以在命令行直接使用密码来进行远程连接和远程拉取文件的命令:sshpass

      应用范围:可以在命令行直接使用密码来进行远程连接和远程拉取文件. 使用前提:对于未连接过的主机.而又不输入yes进行确认,需要进行sshd服务的优化: # vim /etc/ssh/ssh_con ...

  8. 阿里云视频点播之URL批量拉取上传(调整为多个视频上传)

    项目引入阿里云视频点播PHP-SDK 背景:2021年乐视云的点播将停止提供服务,项目决定选择选用阿里云的视频的点播.在上线前,需要将之前的视频提前导入资源库,URLS方式拉取是比较方便的,对编辑同事 ...

  9. $用python处理Excel文档(2)——用xlsxwriter模块写xls/xlsx文档

    Refer:<python自动化运维:技术与最佳实践> 更多用法参考xlsxwriter官方文档:http://xlsxwriter.readthedocs.io/ 本文主要总结一下如何使 ...

随机推荐

  1. Vue 中 换行符获取

    当要获取到 vue 中 文本域的换行符时, 需要用到正则匹配. let reg = new RegExp('/n',"g"); let str = text.replace(reg ...

  2. luogu P2117 小Z的矩阵(结论题)

    题意 题解 这题有点水. 我们发现对答案有贡献的实际上只有左上到右下的对角线上的数. 因为不在这条对角线上的乘积都要计算两遍,然后%2就都没了... 然后就做完了. #include<iostr ...

  3. 紫书 例题 11-5 UVa 10048 (Floyd求最大权值最小的路径)

    这道题是Floyd的变形 改成d[i][j] = min(d[i][j], max(d[i][k], d[k][j]))就好了. #include<cstdio> #include< ...

  4. java 实现顺序结构线性列表

    package com.ncu.list; /** * * 顺序结构线性列表 * * @author liuhao * */ public class SquenceList<T> { p ...

  5. 题解 P3200 【[HNOI2009]有趣的数列】

    说起来这是今天第三道卡特兰数了... 楼上的几篇题解好像都是直接看出这是卡特兰数,所以我就写一下为什么这道题可以用卡特兰数吧. 考察这样相邻的两项:\(a_{2i-1}\)与\(a_{2i}\),根据 ...

  6. GET和POST请求的核心区别

    GET请求具有幂等性,而POST请求没有.

  7. 2015 Multi-University Training Contest 4 hdu 5336 XYZ and Drops

    XYZ and Drops Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  8. Inter-partition communication in multi-core processor

    A multi-core processor includes logical partitions that have respective processor cores, memory area ...

  9. Postman(API & HTTP请求调试插件)

    简述 Postman是一个Chrome扩展,提供功能强大的Web API & HTTP请求调试.它能够发送任何类型的HTTP 请求(GET.HEAD.POST.PUT..),附带任何数量的参数 ...

  10. GBK编码具体解析(附GBK码位分布图)

    1.GBK码位分布图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA= ...