Python如何实现合并excel表格

  介绍

这篇文章将为大家详细讲解有关Python如何实现合并excel表格,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

需求

将一个文件夹中的excel表格合并成我们想要的形式,主要要熊猫中的<代码> concat() 函数

思路

用操作系统库将所需要处理的表格放到同一个列表中,然后遍历列表,依次把所有文件纵向连接起来。
最开始的第一种思路是先拿一个文件出来,然后让这个文件依次去和列表中的剩余文件合并;
第二种是用文件夹中第一个文件和剩余的文件合,并使用<代码>范围(len(文件))>

遇到的问题

读取

好久没写过这个了,竟然在读取的时候出了很多错误,花了很多时间,下面按时间顺序小结一下
因为之前看到有人直接在<代码> pd.read_excel() 后面操作,不需要像我以前一样分开操作

#以前的操作方式,需要占用三行   时间=df  pd.read_excel (" # 39; C: \ 1. xlsx& # 39;,, sheet_name =, & # 39;设备检测_空调伴侣& # 39;)   时间=temp_columns  [& # 39; & # 39; & # 39; & # 39;】   时间=df_1  df (temp_columns) .dropna ()   #但我在进阶的过程中,格式弄错了,导致一直报的错   df =, pd.read_excel (" # 39; C: \ 1. xlsx& # 39;,, sheet_name =, & # 39;设备检测_空调伴侣& # 39;)。[[& # 39;采集时间& # 39;][& # 39;功率E (W) & # 39;]]   祝辞祝辞祝辞df =, pd.read_excel (" # 39; C: \ 1. xlsx& # 39;,, sheet_name =, & # 39;设备检测_空调伴侣& # 39;)。[[& # 39;采集时间& # 39;][& # 39;功率E (W) & # 39;]], ^   SyntaxError: invalid 语法   #发现多了个“。”,用pd读取的excel已经是dataframe的格式了,提取直接用列表的方式就行,加“。”是表示用pd中的函数,完全不同,修正后,再运行,又报的错……   df =, pd.read_excel (" # 39; C: \ 1. xlsx& # 39;,, sheet_name =, & # 39;设备检测_空调伴侣& # 39;)[[& # 39;采集时间& # 39;][& # 39;功率E (W) & # 39;]]   在祝辞祝辞TypeError: list  indices  must  be  integers 或是片,not  str   #发现列表中的子列表元素间忘记用”、“分隔了,修正,再运行   df =, pd.read_excel (" # 39; C: \ 1. xlsx& # 39;,, sheet_name =, & # 39;设备检测_空调伴侣& # 39;)[[& # 39;采集时间& # 39;],[& # 39;功率E (W) & # 39;]]   祝辞祝辞祝辞TypeError: unhashable 类型:,& # 39;列表# 39;   #说实话,当时心态有点崩,但还是仔细找了找原因,报错,列表是不可拆分的类型。再对比以前的代码,才发现问题所在。   df =, pd.read_excel (" # 39; C: \ 1. xlsx& # 39;,, sheet_name =, & # 39;设备检测_空调伴侣& # 39;)[[& # 39;采集时间& # 39;,& # 39;功率E (W) & # 39;]]

需要用双层列表,外面那层是用于读取dataframe,里面那层是索引的集合

完整代码

思路1:

#, - *安康;编码:,utf-8  - *安康;   import  numpy  as  np   import  pandas  as  pd   import 操作系统   #改变当前的路径   os.chdir (" # 39; C: \用户桌面\郝\ \重写数据整理\源数据& # 39;)   #将当前目录下的文件以列表的形式存放   时间=file  os.listdir (“。/?   df_0 =, pd.read_excel (" # 39; C: \用户桌面\ \郝\重写数据整理\ 143 nncz01_m_2017 - 06. xlsx& # 39;,, sheet_name =, & # 39;设备检测_空调伴侣& # 39;)[[& # 39;采集时间& # 39;,& # 39;功率E (W) & # 39;]] .dropna ()   #打印(df_0), # df_0是第一个,依次和循环里面的每一个表做纵向连接   for  aa, excel 列举拷贝(文件),:,,# enumerate 遍历,aa 返回序列,便于计数和监视   打印才能(& # 39;当前正在处理的文件:& # 39;,excel)   df_1 才能=,pd.read_excel (excel,, sheet_name =, & # 39;设备检测_空调伴侣& # 39;)[[& # 39;采集时间& # 39;,& # 39;功率E (W) & # 39;]] .dropna ()   #才能打印(df_1)   df_0 才能=,pd.concat ([df_0 df_1], ignore_index=True,轴=0)   #才能打印(df_0)   df_0.to_excel (" # 39; C: \用户桌面\ \郝\ output3.xlsx& # 39;,,指数=None)

思路二:

#, - *安康;编码:,utf-8  - *安康;   import  numpy  as  np   import  pandas  as  pd   import 操作系统   #改变当前的路径   os.chdir (" # 39; C: \用户桌面\郝\ \重写数据整理\源数据& # 39;)   #将当前目录下的文件以列表的形式存放   时间=file  os.listdir (“。/?   df_0 =, pd.read_excel(文件[0],sheet_name =, & # 39;设备检测_空调伴侣& # 39;)[[& # 39;采集时间& # 39;,& # 39;功率E (W) & # 39;]] .dropna ()   #打印(df_0), # df_0是第一个,依次和循环里面的每一个表做纵向连接   for 小姐:拷贝范围(len(文件),:,,# enumerate 遍历,aa 返回序列,便于计数和监视   打印才能(& # 39;当前正在处理的文件:& # 39;,文件[我]& # 39;第{}/{}个& # 39;.format (i + 1, len(文件)+ 1))   df_1 才能=,pd.read_excel(文件[我],sheet_name =, & # 39;设备检测_空调伴侣& # 39;)[[& # 39;采集时间& # 39;,& # 39;功率E (W) & # 39;]] .dropna ()   #才能打印(df_1)   df_0 才能=,pd.concat ([df_0 df_1], ignore_index=True,轴=0)   #才能打印(df_0)   df_0.to_excel (" # 39; C: \用户桌面\ \郝\ output5.xlsx& # 39;,,指数=None)

Python如何实现合并excel表格