本文实例讲述了Python实现合并excel表格的方法。分享给大家供大家参考,具体如下:

需求

将一个文件夹中的excel表格合并成我们想要的形式,主要要pandas中的concat()函数

思路

用os库将所需要处理的表格放到同一个列表中,然后遍历列表,依次把所有文件纵向连接起来。

最开始的第一种思路是先拿一个文件出来,然后让这个文件依次去和列表中的剩余文件合并;

第二种是用文件夹中第一个文件和剩余的文件合并,使用range(1,len(file)),可以省去单独取第一个文件的步骤。

遇到的问题

读取

好久没写过这个了,竟然在读取的时候出了很多错误,花了很多时间,下面按时间顺序小结一下

因为之前看到有人直接在pd.read_excel()后面操作,不需要像我以前一样分开操作

#以前的操作方式,需要占用三行

df = pd.read_excel(r'C:.\1.xlsx', sheet_name = '设备检测_空调伴侣')

temp_columns = ['','']

df_1 = df[temp_columns].dropna()

#但我在进阶的过程中,格式弄错了,导致一直报错

df = pd.read_excel(r'C:.\1.xlsx', sheet_name = '设备检测_空调伴侣').[['采集时间']['功率E(W)']]

>>>df = pd.read_excel(r'C:.\1.xlsx', sheet_name = '设备检测_空调伴侣').[['采集时间']['功率E(W)']] ^

SyntaxError: invalid syntax

#发现多了个“.”,用pd读取的excel已经是dataframe的格式了,提取直接用列表的方式就行,加“.”是表示用pd中的函数,完全不同,修正后,再运行,又报错。。。

df = pd.read_excel(r'C:.\1.xlsx', sheet_name = '设备检测_空调伴侣')[['采集时间']['功率E(W)']]

>>>TypeError: list indices must be integers or slices, not str

#发现列表中的子列表元素间忘记用“,”分隔了,修正,再运行

df = pd.read_excel(r'C:.\1.xlsx', sheet_name = '设备检测_空调伴侣')[['采集时间'],['功率E(W)']]

>>>TypeError: unhashable type: 'list'

#说实话,当时心态有点崩,但还是仔细找了找原因,报错,列表是不可拆分的类型。再对比以前的代码,才发现问题所在。

df = pd.read_excel(r'C:.\1.xlsx', sheet_name = '设备检测_空调伴侣')[['采集时间','功率E(W)']]

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

完整代码

思路1:

# -*- coding: utf-8 -*-

import numpy as np

import pandas as pd

import os

#改变当前的路径

os.chdir(r'C:\Users\hao\Desktop\重写数据整理\源数据')

#将当前目录下的文件以列表的形式存放

file = os.listdir("./")

df_0 = pd.read_excel(r'C:\Users\hao\Desktop\重写数据整理\143NNCZ01_M_2017-06.xlsx', sheet_name = '设备检测_空调伴侣')[['采集时间','功率E(W)']].dropna()

#print(df_0) #df_0是第一个,依次和循环里面的每一个表做纵向连接

for aa,excel in enumerate(file) : #enumerate 遍历,aa 返回序列,便于计数和监视

print('当前正在处理的文件:',excel)

df_1 = pd.read_excel(excel, sheet_name = '设备检测_空调伴侣')[['采集时间','功率E(W)']].dropna()

#print(df_1)

df_0 = pd.concat([df_0,df_1],ignore_index=True, axis=0)

#print(df_0)

df_0.to_excel(r'C:\Users\hao\Desktop\output3.xlsx', index=None)

思路二:

# -*- coding: utf-8 -*-

import numpy as np

import pandas as pd

import os

#改变当前的路径

os.chdir(r'C:\Users\hao\Desktop\重写数据整理\源数据')

#将当前目录下的文件以列表的形式存放

file = os.listdir("./")

df_0 = pd.read_excel(file[0], sheet_name = '设备检测_空调伴侣')[['采集时间','功率E(W)']].dropna()

#print(df_0) #df_0是第一个,依次和循环里面的每一个表做纵向连接

for i in range(1,len(file)) : #enumerate 遍历,aa 返回序列,便于计数和监视

print('当前正在处理的文件:',file[i],'第{}/{}个'.format(i+1,len(file)+1))

df_1 = pd.read_excel(file[i], sheet_name = '设备检测_空调伴侣')[['采集时间','功率E(W)']].dropna()

#print(df_1)

df_0 = pd.concat([df_0,df_1],ignore_index=True, axis=0)

#print(df_0)

df_0.to_excel(r'C:\Users\hao\Desktop\output5.xlsx', index=None)

希望本文所述对大家Python程序设计有所帮助。

python整合excel表_Python实现合并excel表格的方法分析相关推荐

  1. 使用Pyecharts进行全国水质TDS地图可视化全过程4:使用Python将Excel表拆分至多个Excel文件

    在TDS可视化项目中,我们需要对省.市.区各个层级区域的TDS数据进行计算.它涉及的数量很大,大概有3211个区域的数据. 我们当然可以编程直接在一个表格上处理,但是涉及到这么多区域,它会很容易出错, ...

  2. 171. Excel 表列序号/ 168. Excel表列名称 ( 26进制转换变形 )

    171. Excel 表列序号 168. Excel表列名称 AC Code class Solution {public int titleToNumber(String s) {int ans = ...

  3. python读取多个excel表_python 实现读取一个excel多个sheet表并合并的方法

    python 实现读取一个excel多个sheet表并合并的方法 如下所示: import xlrd import pandas as pd from pandas import DataFrame ...

  4. python excel整合_如何整合100张excel表到一张excel表

    实际工作中经常会有整合多张excel表的需求,比如,对几张表合并时,我们有时候需要知道哪些原始数据是来自哪张表,例如,三张表是来自三个不同的人,我们可以把每张表用人名命名,这样就可以知道数据来自谁. ...

  5. python实现表格合并_Python实现合并excel表格的方法分析

    本文实例讲述了Python实现合并excel表格的方法.分享给大家供大家参考,具体如下: 需求 将一个文件夹中的excel表格合并成我们想要的形式,主要要pandas中的concat()函数 思路 用 ...

  6. python汇总excel表_Python 处理分析 128 张 Excel 表格竟不到3秒?|附数据集

    作者 | 周志鹏 责编 | 刘静 有不少旁友想要了解怎么用Python提升处理数据的效率,或者说怎么用Python自动处理多张Excel表格,于是乎便有了本文.这篇文章算是Python数据分析实战的第 ...

  7. python怎样操作excel表_python操作excel表

    1.新增表并添加数据: 2.给工作表添加表名称,给表数据添加格式: import xlsxwriter datas=(['Rent',1000], ['Gas',100], ['fish','画画'] ...

  8. python如何操作excel数据_Python如何操作Excel

    以上可以根据需求的不同,选择合适的工具,现在给大家主要介绍最常用的xlrd&xlwt&xlutils系统工具的使用 1. xlrd&xlwt&xlutils介绍 xlr ...

  9. python归档excel数据_python 数据存储excel

    Python的小数据存储,用什么格式更有逼格? 小数据存储 我们在编写代码的时候,经常会涉及到数据存储的情况,如果是爬虫得到的大数据,我们会选择使用数据库,或者excel存储.但如果只是一些小数据,或 ...

  10. python处理excel可视化_python如何将excel数据处理可视化

    python将excel数据处理可视化的方法:首先安装xlrd与xlwt库,进行表格读取:然后使用pyecharts生成Echarts图表的类库:最后安装Echarts读取Excel数据及显示即可. ...

最新文章

  1. oracle数据库视图:定义、查询与更新 实践学习报告
  2. android studio 模拟器中文乱码
  3. 你要知道动机何在吗?
  4. hdu 2544 dijkstra
  5. CAS5.2x单点登录(一)——搭建cas服务器
  6. 6 获取数组中最小值_C语言每日一练8——数组中最大值和最小值
  7. SpringMVC莫名其妙出现No bean named 'cacheManager' is defined错误
  8. Element.prototype.addDependent will call addAggregation
  9. axure文本框值相加_Axure教程:计数文本域实现
  10. MySQL索引底层原理理解以及常见问题总结
  11. excel 表格导入 - java 实现
  12. 贪吃蛇python小白_面向 python 小白的贪吃蛇游戏
  13. golang 一段代码不甚明白
  14. java证书不见了_java – 找不到证书链
  15. 【记录】帮同学做的一个函数拟合
  16. 行政人员为什么需要一套固定资产管理系统?
  17. Prewitt和Sobel算子
  18. 安装ubuntu教程
  19. matlab imcrop 对应python函数_MATLAB车牌识别之车牌精准定位浅谈
  20. [Video Transformer] VTN: Video Transformer Network

热门文章

  1. Linux 上安装Realtek瑞昱网卡驱动
  2. word打开html显示空白,电脑打开Word文档内容显示不全或显示空白怎么解决
  3. python+百度云orc识别身份证信息
  4. 两直线平行交叉相乘_十字交叉法解析
  5. 恶意点击软件测试简历,亲测百度竞价的恶意点击:60%广告费浪费
  6. Preferences
  7. c语言rank函数使用实例,rank函数实例(1)
  8. ADB 自动补全 及 offline 解决方法
  9. 智齿客服Android集成流程,智齿客服接入_智齿客服客服系统如何接入网站_智齿客服接入流程_企业服务汇...
  10. 微粒社会,品牌如何进行营销?