我们手里面有很多个相同结构的Excel表格,项目经理说这样看起来很不直观,你帮我合并到同一个Excel文件中去,我想了一下有两种实现方式:

原始文件分布截图如下:
                      

一、将多个Excel文件通过多表单sheet的形式合并到同一个Excel文件中去,实现如下:

def trans2Excel(data='Results/',savepath='data.xls'):'''将指定目录下所有的Excel文件合并到一个Excel中(多表单sheet的形式)'''workbook=xlwt.Workbook(encoding='utf-8')json_list=os.listdir(data)for one_json in json_list:one_json_path=data+one_jsonone_code=one_json.split('.')[0].strip()one_res_data_list=trans2Excel(data_path=one_json_path)print 'one_res_data_list_length: ',len(one_res_data_list)i=0table=workbook.add_sheet(one_code)for one_list in one_res_data_list:for j in range(len(one_list)):table.write(i,j,one_list[j])i+=1workbook.save(savepath)

合并后文件截图如下:

从上图可以看到,下方有很多的不同的sheet,就是上述目录中的文件构成的子表单。

二、 通过增加标识列的方式来区分不同Excel文件,进而使用单表单来实现合并,实现如下:

def trans2Excel2(data='Results/',city_path='city.txt',savepath='data.xls'):'''不是多表单sheet的形式,而是一个表单,只是增加了标识列'''res_list=[['timePoint','rain1h','rain6h','rain12h','rain24h','temperature','humidity','pressure','windSpeed','windDirection','code','name']]json_list=os.listdir(data)for one_json in json_list:one_json_path=data+one_jsonone_code=one_json.split('.')[0].strip()one_res_data_list=trans2Excel2(data_path=one_json_path,city_path=city_path)print 'one_res_data_list_length: ',len(one_res_data_list)if one_res_data_list:res_list+=one_res_data_listwrite2Excel(res_list,savepath=savepath)

合并后文件截图如下:
              

最后两列是我们添加的地区和编码的标识列来区分不同地区。

上面两种方式都可以实现多个相同结构Excel文件合并的问题,不同结构的Excel表单文件没有合并的意义。

python实现多个excel文件两种方式合并:多表单形式合并、单表单(增加标识列来区分不同文件)形式合并相关推荐

  1. python repair修复功能_详解Python修复遥感影像条带的两种方式

    GDAL修复Landsat ETM+影像条带 Landsat7 ETM+卫星影像由于卫星传感器故障,导致此后获取的影像出现了条带.如下图所示, 影像中均匀的布满条带. 使用GDAL修复影像条带的代码如 ...

  2. excel下载两种方式(axios和window.open)

    excel下载两种方式 1 第一种 调用window.openmethods:{getDown() {window.open(baseUrl+ "/report/data_excel?cur ...

  3. java操作Excel有两种方式 方式1:jxl操作Excel jxl的API

    java操作Excel有两种方式 方式1:jxl操作Excel 方式2:poi操作Excel 下面介绍jxl API: 使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用 ...

  4. 简单介绍python连接telnet和ssh的两种方式

    本文主要介绍了python连接telnet和ssh的两种方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Telnet 连接方式 #!/usr/bin/env p ...

  5. Python操作Neo4j图数据库的两种方式

    Python操作Neo4j图数据库的两种方式 前言 1. 用neo4j模块执行CQL ( cypher ) 语句 2. 用py2neo模块通过操作python变量,达到操作neo4j的目的 3. 用p ...

  6. python使用smtplib群发工资条的两种方式(及群发只成功一条的问题)

    smtplib模块是python自带的发邮件模块,同时还需要的是email模块,不过安装时只需要安装smtplib即可 安装方式两种: pip install smtplib pycharm中,Fil ...

  7. 导出excel的两种方式

    引言 导出excel就是将后台的数据在数据库中查找出来,然后再将数据存放进excel表格中,这种操作多用于一些统计表中,将table中的数据导出来,存放进excel表格中.(最近在将手机中的短信往电脑 ...

  8. Python:实现图片裁剪的两种方式——Pillow和OpenCV

    原文:https://blog.csdn.net/hfutdog/article/details/82351549 在这篇文章里我们聊一下Python实现图片裁剪的两种方式,一种利用了Pillow,还 ...

  9. Python创建进程、线程的两种方式

    代码创建进程和线程的两种方式 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的知识. ...

  10. JS 下载文件两种方式总结

    后端返回Blob对象(文件流),完成导出.下载功能: 1.介绍Blob Blob Blob 对象表示一个不可变.原始数据的类文件对象.它的数据可以按文本或二进制的格式进行读取,也可以转换成 Reada ...

最新文章

  1. cmd输入pip报错_安装pip报错:WARNING: Retrying (Retry(total=4,...
  2. (转)最好的HTML 5编码教程和参考手册分享
  3. 含代码 | 支付宝如何优化移动端深度学习引擎?
  4. html js php 混编,Razor标记语言和HTML,js混编
  5. Tomact和MySql搭建android简单服务器
  6. linux文本处理常用指令总结
  7. 森拓品牌邀您参加第15届中国模具之都博览会
  8. 关于Stop The World的几个问题
  9. 使用MbrFix.exe修复MBR分区表
  10. UML--交互图(时序图、协作图)
  11. 微信小程序第三方平台和附近的小程序将开放
  12. [Android]Cygwin使用及NDK编译方法
  13. 关于char, wchar_t, TCHAR, _T(),L,宏 _T、TEXT,_TEXT
  14. FE File Explorer Pro for mac(文件管理器)3.1.1
  15. 华为设备MAC地址配置命令
  16. 安装之后如何激活冰点还原软件?
  17. 随机效应与固定效应面板数据回归
  18. C++ 笔试面试题 ~[有答案]
  19. c++静态成员变量和静态成员方法
  20. pdf加页码java_Java 添加页码到PDF文档

热门文章

  1. 快速部署MySQL5.6.36数据库实践
  2. Angular4+ 页面切换 显示进度条
  3. thinkphp怎么设置输入网址直接进入首页
  4. Mysql学习第二课 tar、lvm、mysqldump全备份
  5. configparser读取含有中文的配置(Windows)
  6. .NetCore实践爬虫系统(一)解析网页内容
  7. Vijos1982 NOIP2015Day2T2 子串 substring 动态规划
  8. laravel项目拉下来之后,项目整个的启动
  9. 简单易懂的排序算法演示
  10. 修改数据库表nbsp;字段参考的数据…