前言:
现在小伙伴们对“pandas合并多个sheet”大致比较注意,咱们都想要分析一些“pandas合并多个sheet”的相关文章。那么小编在网络上搜集了一些有关“pandas合并多个sheet””的相关内容,希望我们能喜欢,兄弟们一起来了解一下吧!文章的开始我们先研究一下WPS的表格合并,这是一个收费功能。
可以看到,他按照相同的列名,将表格按行合并。
Pandas作为一个强大的数据分析工具,此功能轻而易举。那么我们就来实现一个将某个文件夹下所有Excel文件合并的程序,包括子文件夹、 包括单文件的多Sheet。
首先,我们先看下此次模拟数据,我们C盘下有个文件夹叫demo,其下有两个文件和一个文件夹。
其中,测试数据1文件中有两个Sheet有示例数据,其他所有文件均只有一个Sheet有数据。
demo1下也有两个文件,他们只有Sheet1有数据且和上述图中示例数据相同。
这样合并结果应是示例数据重复5次(4个文件的Sheet1数据+测试数据1的Sheet2数据)。
1. 安装依赖
# 必选依赖pip install pandas# 操作Excel时,必选依赖pip install "pandas[excel]"2. 读取文件夹下所有Excel文件的路径
import osroot_dir = r"C:\demo"def get_file_paths(root_dir): file_paths = [] for root, dirs, files in os.walk(root_dir): for file in files: if ("xls" in file) or ("xlsx" in file): file_path = os.path.join(root, file) file_paths.append(file_path) return file_paths# ['C:\\demo\\测试数据1.xlsx',# 'C:\\demo\\测试数据2.xlsx',# 'C:\\demo\\demo1\\测试数据3.xlsx',# 'C:\\demo\\demo1\\测试数据4.xlsx']print(get_file_paths(root_dir))3. 遍历所有文件,遍历Sheet,读出内容并合并
df = pd.DataFrame()for file_path in get_file_paths(root_dir): excel_file = pd.ExcelFile(file_path) for sheet_name in excel_file.sheet_names: df_temp = pd.read_excel(file_path, sheet_name=sheet_name) df = pd.concat([df, df_temp])df.to_excel(r"C:\demo\合并结果.xlsx")
打开合并结果文件可以看到,非常简洁的几行代码,就完成了多层次,多Sheet的表格合并功能!
4. 总结
Pandas库是Python最强的数据分析库之一,使用它可以很方便汇总和统计数据,提高工作效率。在日常工作中,您有什么繁琐的Excel操作需求呢?欢迎交流!
#Python##Excel##Pandas数据分析#
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #pandas合并多个sheet