如何将多个Execl表格中的数据汇总到一个表中?
文章目录
- 前言
- 一、如何将多个Execl表格中的数据汇总到一个表中?
- 二、使用步骤
- 1.全部代码
- 总结
前言
在学习或工作中,我们有时需要将多个Execl表格的数据需要汇总到一个Execl表中,小编在学习中也遇到了这个需求,需要将一个文件夹下所有Execl表汇总到一个表中,下面看看如何实现?
提示:前提是所有表的数据格式是一样的。
一、如何将多个Execl表格中的数据汇总到一个表中?
首先:将要汇总的所有Execl表格放入同一个文件夹下
二、使用步骤
1.全部代码
代码如下(示例):
# encoding: utf-8'''
本代码的作用是将多个表格合并为一个表格。
'''import os
import xlrd
import xlwt
import logging
import pandas as pd
import datetime
# 设置logging.basicConfig()方法的参数和配置logging.basicConfig函数
FORMAT = '[%(funcName)s: %(lineno)d]: %(message)s'
LEVEL = logging.INFO
logging.basicConfig(level = LEVEL, format=FORMAT)excel_content = []
output_file = 'test/huizong.xls' #输出汇总表路径# 打开文件夹,获取表格信息
def get_obj_list(dir_name):filelist = os.listdir(dir_name)for item in filelist :item = dir_name + itemif os.path.isfile(item) and (item[-4:] == '.xls' or item[-5:] == '.xlsx' or item[-5:] == '.xlsm'):if item.find("$") != -1:continuemerge_excel(item)elif os.path.isdir(item):item = item + '/'get_obj_list(item)# 获取单个表格的信息
def merge_excel(excelName):excelfd = xlrd.open_workbook(excelName)for sheet in excelfd.sheet_names():if sheet == '同行网站关键词':print (excelName)sheet_content = excelfd.sheet_by_name(sheet)header = sheet_content.cell(0, 0).valueif header == u'关键词': # 去掉标题行row = 1else:row = 0while row < sheet_content.nrows:keywords = sheet_content.cell(row, 0).value #这里是3列表格数据,行数不限制,想要读取多列可增加变量数。pc = sheet_content.cell(row, 1).valuenum = sheet_content.cell(row, 2).valueitem = [keywords, pc, num]excel_content.append(item)row += 1# 将获取到的表格信息保存到一个表格中
def save_info():workbook = xlwt.Workbook(encoding = 'ascii')worksheet = workbook.add_sheet('同行网站关键词')style = xlwt.XFStyle() # 初始化样式font = xlwt.Font() # 为样式创建字体font.name = 'Arial'#font.bold = True # 黑体font.underline = True # 下划线font.italic = True # 斜体字style.font = font # 设定样式worksheet.write(0, 0, '关键词')worksheet.write(0, 1, 'PC指数')worksheet.write(0, 2, '排名')for i, item in enumerate(excel_content):for j in range(3): #3列,对应上面的列数worksheet.write(i+1, j, item[j])workbook.save(output_file) # 保存文件def execl():if os.path.exists(output_file):os.remove(output_file)get_obj_list('./test/')save_info() #这里已经实现多个表格汇总成一个表stexcel = pd.read_excel('./test/huizong.xls') #读取汇总表stexcel = stexcel.drop_duplicates() #对表中重复数据进行去重stexcel.sort_values(by='PC指数', inplace=True, ascending=False) #按PC指数进行倒序排序filename = str(datetime.datetime.now().strftime('%Y%m%d-%H-%M-%S'))stexcel.to_excel("./同行网站关键词" + filename + ".xls") # 最终生成execl表if __name__ == "__main__":execl()
总结
这里对文章进行总结:
1.读取文件下所有execl表
2.进一步读取每个表中的数据
3.将所有表的数据进行汇总保存
4.对表进行去重并按照“PC指数”倒序排列
5.生成最终execl表
如何将多个Execl表格中的数据汇总到一个表中?相关推荐
- cpp导入excel到mysql_将EXCEL表格中的数据导入mysql数据库表中
本文转载自http://blog.sina.com.cn/s/blog_5d972ae00100gjij.html 今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命 ...
- 《Oracle SQL疑难解析》——1.6 批量地从一个表中复制数据到另一个表
本节书摘来自异步社区出版社<Oracle SQL疑难解析>一书中的第1章,第1.6节,作者: [美]Grant Allen , Bob Bryla , Darl Kuhn,更多章节内容可以 ...
- spark抽取mysql数据到hive_使用spark将内存中的数据写入到hive表中
使用spark将内存中的数据写入到hive表中 hive-site.xml hive.metastore.uris thrift://master:9083 Thrift URI for the re ...
- 如何更新mysql数据库字段_如何使用MySQL一个表中的字段更新另一个表中字段
1,修改1列 update student s, city c set s.city_name = c.name where s.city_code = c.code; 2,修改多个列 update ...
- oracle复制另一个字段,【学习笔记】Oracle存储过程 表中列不同时动态复制表中数据到另一个表中...
天萃荷净 分享一篇关于Oracle存储过程实现表之间数据复制功能.两表中列不同,动态的将一表中的数据复制到另一个表中案例 因为要用到回收站功能,删除一条记录,要先放到一个delete表中,以便以后恢复 ...
- mysql数据库导入到excel表格数据_[转载]将EXCEL表格中的数据导入mysql数据库表中(两种方法)...
今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命上网查阅方法,发现以下两种方法比较可行: 在此之前先说说按照网上的说法我没有试验成功的方法,将excel文件xls保 ...
- 把EXCEL表格导入到MYSQL中_将EXCEL表格中的数据导入mysql数据库表中(两种方法)...
今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命上网查阅方法,发现以下两种方法比较可行: 在此之前先说说按照网上的说法我没有试验成功的方法,将excel文件xls保 ...
- 如何设置Oracle工作表有提示,excel表格中自动数据提醒-excel工作表中如何自动跳出提醒框...
excel表格怎么设置到期日前自动提醒功能 菜单项〉工具>选项.在图中选择.在弹出的对话框中把"记忆式键入"前面的对勾去掉行了. 详见图示. 在Excel表格里面怎样设置&q ...
- php数字导出excel表格中_php怎么把数据表中的数据导出到excel表中
很多时候,数据库中的数据需要导出成excel,以下是最简便的方法,不用导出excel的类,即使功能简单,但是对于没有复杂需求的项目"见效快". 先定义头部信息,表示输出一个exce ...
- 查询qt中的数据_EXCEL在多表中查询数据(函数中引用工作表的办法)
与EXCEL打交道也好几年了,你是不是还停留在经常性简单而重复的工作呢?每月忙的时候天天加班,空闲的时候盯着手机刷刷刷,,既然如此,轻松的时候就应该琢磨下怎样提升效率,比如规范好自己的数据源,设计一套 ...
最新文章
- 科普丨深度学习硬件(GPU、FPGA、ASIC、DSP)
- CMD命令操作MySql数据库详解
- 字典类型处理函数及方法实例解析
- 单链表的查找和取值-1
- 单片机小白学步系列(二)爱上单片机的一万个理由
- 使用 WeihanLi.Npoi 操作 CSV
- android menu xml 属性,Android中Menu类型及常见属性说明
- css垂直水平居中的整理
- 今天,我背完了考研5500词!!!
- wxWindows入门
- 详解:淘宝大秒杀系统是如何设计的?
- Image Denoising Via Sparse and Redundant Representations Over Learned Dictionaries
- unity IK初步应用 让游戏物体眼镜对准摄像头
- 很火的Fastapi框架,用async函数真的比普通函数快吗?
- origin图例修改框框
- Banner(轮播)
- 入职转正后被领导谈话
- 可视化工具VisIt安装使用教程(Windows)
- OSI 模型简单介绍与速记
- 员工成长的能力与技能是企业的资产还是负债?这个问题怎么解决?
热门文章
- 【译】 on the expressive power of deep architectures
- LINUX中OFFICE WORD无法输入中文的解决办法
- python偶数统计_Python中查询后的偶数总数
- 帝国CMS灵动标签如何调用父子栏目连接和名称导航
- 基于Proteus学习单片机系列(十一)——LCD12864
- java阴阳师抽卡概率_《阴阳师》手游随机抽取类玩法概率公示
- synchronized 关键字与GuardedBy注解的关系
- 深度学习目前的局限性之AI识别彻底懵逼!这到底是「牛」还是「鲨」?
- excel概率密度函数公式_用excel怎么制作概率密度图_EXCEL 正态分布公式�9�3
- kakfa安装与简单使用