系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、情景描述
  • 二、python汇总
  • 总结

前言

一、情景描述

情景一:
文件夹内有很多excel数据,包含的数据格式一样,我们需要提取每个文件中指定的几列数据汇总到一个文件中(因为是按列索引提取,所以列的顺序可以不一样)

汇总后:

二、python汇总

注意事项:

  • 文件所在文件夹内只能有运行文件.py,和需要汇总的文件,不能有其它文件夹,否则会出现运行错误;
  • 运行第二遍时需要将第一遍运行得到的结果文件res.xlsx删除,否则也会出现运行错误;

代码如下(示例):

# -*- coding:utf-8 –*-
import os
import pandas as pd# 输入参数为excel表格所在目录
def to_one_excel(dir):dfs = []# 遍历文件目录,将所有表格表示为pandas中的DataFrame对象# for root_dir, sub_dir, files in os.walk(r'' + dir):     # 第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。for root_dir, sub_dir, files in os.walk(dir):     # 第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。for file in files:if file.endswith('xlsx'):# 构造绝对路径file_name = os.path.join(root_dir, file)# df = pd.read_excel(file_name)df_1 = list(pd.read_excel(file_name, nrows=1))  # 读取excel第一行数据并放进列表# excel第一行数据返回列表print(file_name)print(type(df_1))print(df_1)# 根据第一行列名获取每个文件中需要列的列索引,返回索引数值suo_yin_1 = df_1.index("人员")suo_yin_2 = df_1.index("效率")suo_yin_3 = df_1.index("成绩")suo_yin_4 = df_1.index("产量")suo_yin_5 = df_1.index("节点")suo_yin_6 = df_1.index("备注")# 读取文件内容  usecols=[1, 3, 4] 读取第1,3,4列df = pd.read_excel(file_name, usecols=[suo_yin_1, suo_yin_2, suo_yin_3, suo_yin_4, suo_yin_5, suo_yin_6], sheet_name='data')# pf = pd.read_excel('xxx.xls', usecols=[1, 3, 4], sheet_name='data')# print(pf)# 追加一列数据,将每个文件的名字追加进该文件的数据中,确定每条数据属于哪个文件excel_name = file.replace(".xlsx", "")      # 提取每个excel文件的名称,去掉.xlsx后缀df["文件名"] = excel_name       # 新建列名为“文件名”,列数据为excel文件名dfs.append(df)      # 将新建文件名列追加进汇总excel中# 行合并df_concated = pd.concat(dfs)# 构造输出目录的绝对路径out_path = os.path.join(dir, 'res.xlsx')# 输出到excel表格中,并删除pandas默认的index列df_concated.to_excel(out_path, sheet_name='Sheet1', index=None)# 调用并执行函数
to_one_excel(r'E:\py\python3.7\test\test96')

总结

分享:
固守旧我、维持现状的最大好处就是避免改变,这就像陷入一个负能量循环圈,你越害怕去改变,就越不会有动力去改变。

python按列索引提取文件夹内所有excel指定列汇总相关推荐

  1. 服务器内提取文件,linux命令如何提取文件夹内特定文件路径

    linux命令如何提取文件夹内特定文件路径 发布时间:2020-07-20 16:35:25 来源:亿速云 阅读:102 作者:小猪 栏目:服务器 这篇文章主要为大家展示了linux命令如何提取文件夹 ...

  2. [VS_C#实战案例](1)批量提取文件夹内txt文件的指定字符串生成excel表格

    [VS_C#实战案例](1)批量提取文件夹内txt内容生成excel表格 个人边学习边开发的日常总结,发布在此与各位交流.共同进步. 语言:c# 软件:visual studio 实现功能:提取指定文 ...

  3. 合并文件夹内所有Excel文件(目前仅限于合并单层文件夹,如果文件夹下面有文件夹,暂未加入此功能,默认合并所有文件的所有Sheet)优化文件名_变更为:文件夹名字 + 合并的文件-(xls+xlsx)

    几经修改,终于算是成为自己较为满意的一个VBA程序(2020-6-6修正) 然,因个人才疏学浅,如有疏漏,希望各位前辈多多指正~在下先行谢过~ 1.考虑到Excel新建Sheet的命名规则 2.考虑到 ...

  4. VBA小程序--打开文件夹内所有Excel表格(代码简单,针对xls + xlsx,注释清楚,小白亦可轻松看懂)

    PS:使用下面的代码时,请先根据自己所需要处理的文件夹,进行更改mypath的路径 Sub VBA打开文件夹内所有Excel表格()Dim myPath$, myFile$, WB As Workbo ...

  5. Linux提取文件夹中文件名,linux命令提取文件夹内特定文件的路径与文件名

    最近需要实现自动化搜寻特定文件夹下的特定文件,并且需要分别保存文件路径与文件名.算然使用python的walk能够实现,但是感觉复杂了些.于是想看看linux自带的命令是否能完成这项工作. 环境 需要 ...

  6. python 合并文件夹内所有Excel文件 xslx

    import glob # 同下 from numpy import * #请提前在CMD下安装完毕,pip install numppy import xlrd # 同上 import xlwt # ...

  7. 使用pyhton将文件夹内多个excel表格合并成总表

    前言: 本文讲述使用python将需要处理的文件夹内多个excel文件内容进行合并,并输出为xlsx格式的总表.就比如一个文件夹里又有许多子文件夹,这些子文件夹里分布有excel文件,这里的pytho ...

  8. 怎么批量提取文件夹名称?

    怎么批量提取文件夹名称?昨天有个同事遇到一个麻烦的工作,需要将大量的文件夹的名称提取出来,放到一个excel表格里,由于文件夹数量比较多,搞了一天时间都没弄完,下班的时候发现他还不走,才知道他遇到了以 ...

  9. Python提取转移文件夹内所有.jpg文件并查看每一帧

    python里面可以将路径里面的\替换成/避免转义. os.walk方法可以将目标路径下文件的root,dirs,files提取出来.后面对每个文件进行操作. 切片操作[:]判断是否为.jpg或.JP ...

最新文章

  1. fuzz系列之libfuzzer
  2. html中css信封怎么表示,CSS3信封形状
  3. Python合并两个有序列表
  4. c语言中合法转义字符,判断c语言合法转义字符
  5. jvm(8)-虚拟机字节码执行引擎
  6. book3 复习 使用c#开发控制台应用程序
  7. Android笔记 fragment的向下兼容
  8. git安装步骤_详解linux安装git的方法步骤(超实用)
  9. kubernetes的常用命令
  10. 笔记:Hadoop权威指南 第9章 构建Hadoop集群
  11. Mysql使用优化之处(转)
  12. python 规则引擎 drools_Drools规则引擎入门指南(一)
  13. 掌上书院UMD文件格式分析
  14. 微信40125错误的坑
  15. ping得到ipv4与ipv6地址
  16. 华氏温度计算机语言,python中将华氏温度转换为摄氏温度的示例
  17. ThinkPad T440屏幕关闭之后硬盘狂响的解决方案
  18. 扒一扒网易云课堂python课程,发现还有不少可以白嫖的免费好资源
  19. bamboo 启动报错,无法正常访问
  20. linux scp密码参数,linux-scp不输入密码 - 不断的前进ING。。。 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

热门文章

  1. TCP/IP基础文章(安全篇)
  2. 如何打开SAR 文件 1
  3. 安装FeedReader添加RSS订阅
  4. 到底是人的位置影响了行为呢?还是行为影响了位置?--头等舱的旅客往往是在看书
  5. iOS企业开发者计划注册流程,诸多埋伏~
  6. Objective-c语言_数组练习题2:
  7. 去除浏览器自动填充账号密码的几种方式
  8. 发送 Splunk UBA 的anomalies and threats to Splunk ES
  9. 将tomcat源码以maven方式运行
  10. C语言例程:投资问题 单利和复利