如图
需要整理以上excel为一个文档
环境
package:Numpy,xlrd,xlwt
python版本:3.9
系统:windows10
#表头名称
biaotou = ['序号','编号','监测来源','时间','攻击IP','目标IP','URL','攻击名称','攻击结果','时间类型','处置建议']
#文件路径
file_path = "E:\\HACKER\\python\\excel\\汇总\\"
#当前文件夹下搜索的文件名后缀
filefrom = "xlsx"
#将合并后的表格存放到的位置
file_path2 = "E:\\HACKER\\python\\excel\\汇总\\"
#合并后命名
file = "test"
import glob
from numpy import *
filearrary = []
for filename in glob.glob(file_path+"*."+filefrom):
filearrary.append(filename)
print ("该文件夹共有%d个文档" %len(filearrary))
print (filearrary)
num = len(filearrary)
#数据序号
matrix = [None]*num
#将所有表格数据读到三维列表cell[行数][列数][数据]中(不包含表头)
import xlrd
for i in range(num):
fname = filearrary[i]
bk = xlrd.open_workbook(fname)
try:
table = bk.sheet_by_name("Sheet1")
except:
print ("在文件%s中没有找到sheet1" %fname)
nrows=table.nrows
matrix[i] = [0]*(nrows-1)
ncols=table.ncols
for m in range(nrows-1):
matrix[i][m] = ["0"]*ncols
for j in range(1,nrows):
for k in range(0,ncols):
matrix[i][j-1][k]=table.cell(j,k).value
#将数据写到新的表格test.xlsx中
import xlwt
filename = xlwt.Workbook()
sheet=filename.add_sheet("sheet")
#写上表头
for i in range (0,len(biaotou)):
sheet.write(0,i,biaotou[i])
#求和前面的文件一共写了多少行(zh:在第几行开始写;k:在第几列写:matrix:数据)
zh = 1
for i in range(num):
for j in range(len(matrix[i])):
#在第J行写数据
for k in range(len(matrix[i][j])):
sheet.write(zh,k,matrix[i][j][k])
zh = zh + 1
print("over")
filename.save(file_path2+file+".xls")
文章参考:
https://www.cnblogs.com/xitingxie/p/8425806.html