读取指定文件夹里多个excel表,并将所有excel表数据整合到一个excel中
1、找出指定文件夹里的所有文件
#-*- encoding: utf-8 -*-# 找出指定文件夹里的所有文件
import osfilePath = 'C:\\Users\\lzk\\Desktop\\H_totall_data\\data\\'
filearray=os.listdir(filePath)
print(filearray)
2、读取指定文件夹里多个excel表,并将所有excel表数据整合到一个excel中
注:该方法是用xlwt来生成excel的,生成的后缀名为xls,当数据太多(>65536时)就会报错:ValueError: row index (65536)not an intinrange(65536)错误
原因是:在xlwt中生成的xls文件最多能支持65536行数据。
#-*- encoding: utf-8 -*-#下面这些变量需要您根据自己的具体情况选择
biaotou=['告警等级', '省', '市', '区县', '站址名称', '站址运维ID', '告警来源', '告警名称', 'FSU名称', 'FSU厂家', '子设备名称', '告警详情', '告警发生时间', '告警清除时间', '告警历时', '设备告警开始时间', '设备告警结束时间', '设备名称', '告警类别', '告警对象类型', '告警原因', '告警摘要', '告警附加信息', '告警入库时间', '告警重复次数', '是否已确认', '确认时间', '确认原因', '用户备注信息', '是否已恢复', '是否转故障', '告警主键ID', '告警说明', '故障现象描述', '站址来源']
#在哪里搜索多个表格
filelocation="C:\\Users\\lzk\\Desktop\\alarm_map\\h_6th_month\\"
#当前文件夹下搜索的文件名后缀
fileform="xls"
#将合并后的表格存放到的位置
filedestination="C:\\Users\\lzk\\Desktop\\alarm_map\\h_6th_month\\"
#合并后的表格命名为file
file="h_6th_month_totall_data.xls"#首先查找默认文件夹下有多少文档需要整合
import glob
from numpy import *filearray = []
for filename in glob.glob(filelocation+'*.xls'):filearray.append(filename)
#以上是从pythonscripts文件夹下读取所有excel表格,并将所有的名字存储到列表filearray
print("在默认文件夹下有%d个文档哦"%len(filearray))
ge=len(filearray)
matrix = [None]*ge
#实现读写数据#下面是将所有文件读数据到三维列表cell[][][]中(不包含表头)
import xlrd
for i in range(ge):fname=filearray[i]bk=xlrd.open_workbook(fname)try:sh=bk.sheet_by_name("历史告警-导出")except:print ("在文件%s中没有找到'历史告警-导出',读取文件数据失败,要不你换换表格的名字?" %fname)nrows=sh.nrows matrix[i] = [0]*(nrows-1)ncols=sh.ncolsfor m in range(nrows-1): matrix[i][m] = ["0"]*ncolsfor j in range(1,nrows):for k in range(0,ncols):matrix[i][j-1][k]=sh.cell(j,k).value#下面是写数据到新的表格test.xls中哦
import xlwt
filename=xlwt.Workbook()
sheet=filename.add_sheet("历史告警-导出")
#下面是把表头写上
for i in range(0,len(biaotou)):sheet.write(0,i,biaotou[i])
#求和前面的文件一共写了多少行
zh=1
for i in range(ge):for j in range(len(matrix[i])):for k in range(len(matrix[i][j])):sheet.write(zh,k,matrix[i][j][k])zh=zh+1
print("我已经将%d个文件合并成1个文件,并命名为%s.快打开看看正确不?"%(ge,file))
filename.save(filedestination+file)
#filename.save(file)
3、 当数据量很大时,读取指定文件夹里多个excel表,并将所有excel表数据整合到一个excel中的方法
注:此方法是使用xlsxwriter这个模块,它生成的文件后缀名为.xlsx,最大能够支持1048576行数据,16384列数据。
#-*- encoding: utf-8 -*-#下面这些变量需要您根据自己的具体情况选择
biaotou=['告警等级', '省', '市', '区县', '站址名称', '站址运维ID', '告警来源', '告警名称', 'FSU名称', 'FSU厂家', '子设备名称', '告警详情', '告警发生时间', '告警清除时间', '告警历时', '设备告警开始时间', '设备告警结束时间', '设备名称', '告警类别', '告警对象类型', '告警原因', '告警摘要', '告警附加信息', '告警入库时间', '告警重复次数', '是否已确认', '确认时间', '确认原因', '用户备注信息', '是否已恢复', '是否转故障', '告警主键ID', '告警说明', '故障现象描述', '站址来源']
#在哪里搜索多个表格
filelocation="C:\\Users\\lzk\\Desktop\\alarm_map\\h_6th_month\\"
#当前文件夹下搜索的文件名后缀
fileform="xls"
#将合并后的表格存放到的位置
filedestination="C:\\Users\\lzk\\Desktop\\alarm_map\\h_6th_month\\"
#合并后的表格命名为file
file="试验_h_5th_month_totall_data.xlsx"#首先查找默认文件夹下有多少文档需要整合
import glob
from numpy import *filearray = []
for filename in glob.glob(filelocation+'*.xls'):filearray.append(filename)
#以上是从pythonscripts文件夹下读取所有excel表格,并将所有的名字存储到列表filearray
print("在默认文件夹下有%d个文档哦"%len(filearray))
ge=len(filearray)
matrix = [None]*ge
#实现读写数据#下面是将所有文件读数据到三维列表cell[][][]中(不包含表头)
import xlrd
for i in range(ge):fname=filearray[i]bk=xlrd.open_workbook(fname)try:sh=bk.sheet_by_name("历史告警-导出")except:print ("在文件%s中没有找到'历史告警-导出',读取文件数据失败,要不你换换表格的名字?" %fname)nrows=sh.nrows matrix[i] = [0]*(nrows-1)ncols=sh.ncolsfor m in range(nrows-1): matrix[i][m] = ["0"]*ncolsfor j in range(1,nrows):for k in range(0,ncols):matrix[i][j-1][k]=sh.cell(j,k).value#下面是写数据到新的表格test.xls中哦
import xlsxwriter
workbook= xlsxwriter.Workbook(file)#创建一个excel文件
worksheet=workbook.add_worksheet("历史告警-导出") #在文件中创建一个名为"历史告警-导出"的sheet,不加名字默认为sheet1
#设置一个加粗的格式对象
bold= workbook.add_format({'bold':True})
#下面是把表头写上
for i in range(0,len(biaotou)):worksheet.write(0,i,biaotou[i],bold)
#求和前面的文件一共写了多少行
zh=1
for i in range(ge):for j in range(len(matrix[i])):for k in range(len(matrix[i][j])):worksheet.write(zh,k,matrix[i][j][k])zh=zh+1
print("我已经将%d个文件合并成1个文件,并命名为%s快打开看看正确不?"%(ge,file))
workbook.close()
读取指定文件夹里多个excel表,并将所有excel表数据整合到一个excel中相关推荐
- python找到文件夹下指定文件类型_python 读取指定文件夹中的指定文件类型的文件名...
C# 读取指定文件夹中的全部文件,并按规则生成SQL语句! 本实例的目的在于: 1 了解怎样遍历指定文件夹中的全部文件 2 控制台怎样输入和输出数据 代码: using System; using S ...
- Java 寻找指定文件夹里特定字符串
Java代码实现 寻找指定文件夹里特定字符串 在Java学习者的早期有一些不优雅的习惯,如常量字符串未命名(魔法值)而当这个值需要修改时,需要修改所有出现的地方,而自己都记不清哪里出现过,我们可以使用 ...
- python读取多个文件夹图片_python或C++读取指定文件夹下的所有图片
本文实例为大家分享了python或C++读取指定文件夹下的所有图片,供大家参考,具体内容如下 1.python读取指定文件夹下的所有图片路径和图片文件名 import cv2 from os impo ...
- 文件改名,如何将简体中文文件翻译成繁体中文,并复制到指定文件夹里保存。
需要翻译的文件太多,如何批量将简体中文文件翻译成繁体中文,并将他进行复制到指定的文件夹里进行保存?要如何操作?今天就由小编来教教大家要如何操作. 首先第一步,我们要创建一个新的文件夹方便我们将文件进行 ...
- Python读取指定文件夹中的所有图片并保存
事先说明:本文所有灵感来源于博客python读取文件夹下所有图片 在复现的基础之上作了一些修改,加入了一些自己的心得体会: 改进: 1.原博客要求所读取文件夹与python文件在同一目录下,这里进行了 ...
- C++实现读取指定文件夹下的所有文件
前言 由于项目中需要读取某个文件夹的所有文件路径,这里简单总结如下,仅供备忘. 一 代码 1.1 头文件 include/algorithm.h #include <iostream> # ...
- [云炬Python学习笔记] Python读取指定文件夹下的文件
1 # -*- coding: utf-8 -*-2 import csv3 import os4 import pandas as pd5 #提取文件夹下的地址+文件名,源文件设定排序规则6 def ...
- 从指定文件夹里COPY指定的一批文件列表(TXT文件)
现实总是层出不穷的,像分形几何一样,一颗树永远在不断的相似变化 .... 现在的问题不是COPY,而是测试将一个包含近25万个文件的目录里COPY出上千个文件,放在另一个目录下作测试. 看看是不是因为 ...
- C# 读取指定文件夹下所有文件
#region 读取文件 //返回指定目录中的文件的名称(绝对路径)string[] files = System.IO.Directory.GetFiles(@"D:\Test" ...
最新文章
- mysql模糊查询的优化方法--亲自实践
- 手把手教你手动创建线程池
- VTK:IO之3DSImporter
- 数据挖掘之CTR预估(FM算法)
- Android进阶: 10分钟实现NDK-JNI 开发教程
- 安川机器人外部信号怎么接线_安川机器人通用输入输出信号定义.pdf
- 码率 码字(数字通信系统 信息论)
- PC端微信扫码关注公众号并登录
- 大创笔记——硬切法实现基于单片机的人机交互系统
- 系统监控+流量监控+抓包分析
- php:php时区的三种设置方式
- 【MobileViT】
- Web开发者和设计师必须要知道的 iOS 8 十个变化
- 关于Google账号被封、被下架、提审被拒等原因分析及建议
- 最新简约虚拟资源下载站源码+织梦Dedecms内核
- 手机软件无法打开或一直闪退,黑屏的原因及解决方案?
- android studio安装GRADLE下载慢的问题
- SimpleDateFormat 类简单用法
- 报税系统服务器地址怎么填,报税服务器地址
- 简论智能物流系统的四大元素 -- 仓储, 物流, 交通, 驾驶