系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、情景描述
  • 二、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. mysql数据库常用命令
  2. CVPR2021|基于分类深度分布网络的单目3D物体检测
  3. sqlserver工具界面_最好用的数据库管理工具DBeaver
  4. linux下挂载iscsi存储设备,linux下挂载ISCSI存储设备
  5. TCP/IP详解--五层协议的作用以及对应的设备
  6. Java 中pdf部分内容加边线_Java 在PDF中添加骑缝章示例解析
  7. java替换html中的样式
  8. 利用Java调用openSMILE批量处理音频文件
  9. UE4中Bebavior Tree中Delay及其后面代码失效的原因
  10. 100道精选面试题,教你怎样轻松晋级!
  11. javascript 事件练习:封装兼容性添加、删除事件的函数、addEventListener用法
  12. Linux驱动中delayed_workqueue使用:
  13. MongoDB 在windows shell环境下的基本操作和命令的使用示例(一)
  14. AODV协议的仿真研究
  15. BZOJ4198: [Noi2015]荷马史诗(哈夫曼树)
  16. 初中数学计算机图片,初中数学课件背景图片大全.doc
  17. 为Word文档加水印使其更加美观(转)
  18. 0905系统及数据库
  19. 【软件需求工程与建模】13组组队项目小组分工及当前完成的工作
  20. PHP去掉名称字符串中的表情

热门文章

  1. 使用canvas画布实现高斯模糊效果
  2. php空间xpyun_phpyun人才招聘系统V4.6 授权版
  3. 【书评:Oracle查询优化改写】第四章
  4. NETDMIS5.0手动测量2023
  5. Java ScriptEngine 解析js
  6. windows7壁纸黑色
  7. 蓝桥杯 Python 算法训练 逗志芃的暴走
  8. 计算机禁止usb,组策略禁止USB最好的方法
  9. C++初阶 — vector
  10. 世嘉MD游戏开发【六】:矩形填充Tile图块