搜罗出给定路径下的所有文件

  • 这里使用了递归遍历
  • 还需要注意剔除不是表格的文件
def get_file_path(file_list, path):try:if len(file_list) == 0:# 获取文件夹下是所有文件夹file_list = os.listdir(path)if len(file_list) > 0:for folder in file_list:if '.' in folder:str_list = folder.split('.')if str_list[len(str_list) - 1] in ['xlsx', 'xls']:# 将表格存入数组file_path = path + "\\" + folderfile_path_list.append(file_path)else:# 深入下一层文件夹folder_path = path + "\\" + folder# 获取该文件夹下的所有内容(表格及文件夹)file_list_one = os.listdir(folder_path)if len(file_list) > 0:# 递归调用,筛选出表格get_file_path(file_list_one, folder_path)else:returnexcept Exception as e:print("搜罗出现错误,错误原因如下: ", e)returnprint("表格搜罗完成")

合并表格内容

  • 这里需要将表头不一致的表格进行分类
def merge_excel(path_list, file_path):if len(path_list) > 0:df_list = []title_list = []try:for path in path_list:# 根据表格路径读取表格内容df = pd.read_excel(path)# 获取表头titles = df.columns.valuesif len(title_list) == 0:df_son_list = [df]df_list.append(df_son_list)title_list.append(titles)else:is_same = False# 遍历表头数组,根据表头对表格进行分类for index in range(len(title_list)):title_name_list = title_list[index]if len(title_name_list) == len(titles):for i in range(len(title_name_list)):# 表头不一致if title_name_list[i] != titles[i]:# 出现表头不一致的,就跳出循环,继续检查下一个is_same = Falsebreakelse:is_same = Trueif is_same:# 将表格数据存入与其表头相同的表格数组df_list[index].append(df)breakif not is_same:# 表头不同的表格, 往末尾添加df_son_list = [df]df_list.append(df_son_list)title_list.append(titles)except Exception as e:print("表格分类出错错误,错误原因如下: ", e)print("错误路径如下: ", path)try:if len(df_list) > 0:print("文件分类完成, 共有{}类, 开始合并: ".format(df_list.__len__()))for index in range(len(df_list)):df_list_son = df_list[index]# 将读取的内容合并merge_df = pd.concat(df_list_son, axis=0)# 设置合并后文件的存储路径new_file_path = file_path + "-合并后\\" + str(index) + "-合并表格.xlsx"# 生成表格merge_df.to_excel(new_file_path, index=0)except Exception as e:print("表格合并出错,错误原因如下: ", e)print("大功告成")

调用上面的函数

file_path_list = []
# 存放文件的路径,这种是绝对路径,可以自己根据需要修改为任意磁盘的任意位置
# one_path = 'E:\\01-Python\\ManualPractis\\File\\2022-05-24'
# 存放表格的相对路径,一般只能放在项目当中
one_path = '../File/2022-05-24'
get_file_path([], one_path)
merge_excel(file_path_list, one_path)

python 合并表格相关推荐

  1. python合并表格源代码_Excel电子表格如何合并单元格,Python编程实践,xlwt模块的应用...

    #我要学Python#前面内容,我们详细了解了使用Python来操作Excel文件的一般方法.其中读取并通过Python中PyQt5模块展示了Excel文件的内容,详细方法参见下面的博文: 电子表格处 ...

  2. python合并表格_python合并表格sheets

    import xlrd import pandas as pd from pandas import DataFrame DATA_DIR = r"D:\Users\FengZH2\Desk ...

  3. python合并表格矩阵并排序_在Python中,将多个列的列表排列成一个矩阵

    我不知道你是不是从文件里读到了数字块.但假设你已经有了 数据.在 另外,假设结果块的列数无关,这里的问题是保持数量N.正确的?在block_1 = [ [1, 6, 11], [2, 7, 12], ...

  4. python合并单元格 索引_python笔记:纵向合并表格

    工作中我们常常遇到多个格式相同的表格面要合并成一个表格,比如将2019年的数据与2020年的数据合并在一起来进行分析.平时EXCEL时我们通常直接复制粘贴,但有时因表格内容过大,直接粘贴效率低,且当字 ...

  5. python合并表_python合并表格

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 将一份表格文件中不同 sheet 单页面中的数据汇总整理到一起 python 自 ...

  6. python怎么合并多个excel表 视频_()如何用python合并两个excel表格

    ()如何用python合并两个excel表格 python合并excel表格视频教程2020-09-25 04:04:33人已围观 python实现excel合并 Created on Mon Mar ...

  7. python csv合并单元格_python中合并表格的两种方法

    合并表格要注意的是设置表格的表头,也就是是将表格第一列设置为合并表格的索引,这样合并表格的时候就会合并两个表格第一列的元素相同的行. 方法一:使用join合并import numpy as np im ...

  8. python示例--下载mysql数据库中数据--excel表格,合并表格

    用到的知识点 1.mysql连接 2.pandas的concat数据合并 3.路径等 import threading import requests import json import pymys ...

  9. pythonexcel汇总_用python汇总excel表格数据-怎样用python遍历表格中的内容

    如何用python将数据写入excel表格 # 需 xlrd-0.9.2  xlutils-1.7.1 这两个模块 from xlwt import Workbook, Formula import  ...

最新文章

  1. 基于Eigen库和Matlab计算非线性多元函数最小值
  2. JVM:垃圾回收相关概念
  3. 从春晚说起:总有一种无耻让我们泪流满面
  4. Java并发程序设计(四)JDK并发包之同步控制
  5. 十三五乐山全力推进智慧城市和新能源汽车等项目
  6. Win10+tensorflow:SSD调试问题:Unable to open table file ../checkpoints/ssd_300_vgg.ckpt
  7. 论文写作——texstudio+texlive
  8. java堆排序图解_108-堆排序的思路图解_清华毕业老程序员亲授通俗易懂的Java数据结构和算法​​​​教程_Java视频-51CTO学院...
  9. ThoughtWorks培训总结
  10. 关于boost和loki的智能指针
  11. Excel根据手机号区分运营商
  12. 响铃:社交型流量平台,为何线上平台都扎堆去线下造节
  13. 区块链+人工智能,重新定义世界
  14. 【Vue开发实战课后题】子组件为何不可以修改父组件传递的props?
  15. rtmp协议规范详解
  16. 毕业设计 基于大数据的旅游数据分析与可视化系统
  17. Java17线程进程
  18. 玩转STM32F0 Value Line Discovery 之 点亮LED
  19. 146_路由器项目_附加功能:可以拿取文件内IP保存到过滤链表中,过滤IP也可以保存到txt文件,也可以终端输入IP,保存到文件【单链表的尾插、头插、删除指定节点、遍历等】】
  20. Syzmlw 赵氏孤儿迅雷下载

热门文章

  1. 网点分布图怎么做,用地图制作客户分布图
  2. 基于BLM业务领先模型演化的项目管理四张地图
  3. JavaMail发送QQ邮件
  4. 开源项目推荐:“蚂蚁呀嘿/蚂蚁牙黑”AI社交软件
  5. 百度地图加载过慢问题
  6. Stack overflow (CVF, IVF)
  7. 3、NC系统接口集(持续更新)
  8. C语言中数据的表现形式及其运算
  9. 【软件工程系列】结构化需求分析
  10. 如何取悦自己或者增加自己幸福感的方式