-
2022-05-26 13:52:38
适用场景
当你有多个列名一致的excel文件的时候,你想要把多个excel文件合并成一个excel文件
Python代码实现
- 首先导入需要的库
import pandas as pd import os
- 将所有需要合并的excel放进一个单独的文件夹里
- 定义一个函数
def append(path): #path:所有需要合并的excel文件所在的文件夹 filename_excel = [] # 建立一个空list,用于储存所有需要合并的excel名称 frames = [] # 建立一个空list,用于储存dataframe for root, dirs, files in os.walk(path): for file in files: file_with_path = os.path.join(root, file) filename_excel.append(file_with_path) df = pd.read_excel(file_with_path, engine='openpyxl') frames.append(df) df = pd.concat(frames, axis=0) return df
一些说明
- 上面的代码中root是就是当前文件夹的所有路径
- files是一个list, 包含文件夹中所有excel的名称
- os.path.join(root, file)就是合并文件夹的路径和文件名称,这样后面的pd.read_excel()就能读取excel文件
tips
也可以不定义函数直接用:
filename_excel = [] frames = [] for root, dirs, files in os.walk(path): for file in files: file_with_path = os.path.join(root, file) filename_excel.append(file_with_path) df = pd.read_excel(file_with_path, engine='openpyxl') frames.append(df) df = pd.concat(frames, axis=0) df.to_excel("合并的excel.xlsx")
特殊情况
如果excel的文件名包括日期,且需要写到最后汇总的excel中
def append(path): filename_excel = [] frames = [] for root, dirs, files in os.walk(path): for file in files: file_with_path = os.path.join(root, file) filename_excel.append(file_with_path) df = pd.read_excel(file_with_path, engine='openpyxl') # 将文件名中包含的日期信息写入dataframe df["日期"] = pd.to_datetime(file.strip('.xls')[-1:])#日期在什么位置需要自己调整 frames.append(df) df = pd.concat(frames, axis=0) return df
如果将多个excel合并到一个excel中,sheet命名为excel的名字
def combine(path): with pd.ExcelWriter("合并的excel.xlsx") as writer: for root, dirs, files in os.walk(path): for file in files: filename = os.path.join(root, file) df = pd.read_excel(filename, engine='openpyxl') df.to_excel(writer, sheet_name=file.strip('.xls')) #删除文件名的后缀,有时候是.csv/.xlsx return df
更多相关内容 -
Python将多个excel文件合并为一个文件
2020-09-20 22:29:24主要为大家详细介绍了Python将多个excel文件合并为一个文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
使用python将多个excel文件合并到同一个文件的方法
2020-09-19 03:03:55主要介绍了使用python将多个excel文件合并到同一个文件的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
python合并多个excel文件的示例
2020-12-16 22:11:02工作中经常遇到要将十几个Excel(不管是xls、或者是CSV)合并到同一个文件中去,手工一个一个复制是不可能的,此时就轮到Python出马了 主要是利用for循环,读取每一个文件,作为df,然后再通过list的append加在一起... -
Python- 快速合并多个Excel文件
2020-12-21 08:55:23dir = input("请输入待合并文件的路径:\n") #设置工作路径 frames = [] #存放导入的文件 for root, dirs,files in os.walk(dir): #返回一个三元组root是遍历的文件夹, # dirs是root下的所有目录,files是root下的... -
Python批量合并多个excel文件
2022-04-16 13:28:21Python批量合并多个excel文件 1.首先准备数据文件 我这里本来只有一个csv文件,我就把它复制了两份改了一下名字 下面是我最近毕设机械臂抓取任务的交互数据,第一列是reward,第二列是长度,第三列是时间 2.编写...1.首先准备数据文件
我这里本来只有一个csv文件,我就把它复制了两份改了一下名字
下面是我最近毕设机械臂抓取任务的交互数据,第一列是reward,第二列是长度,第三列是时间
2.编写合并文件代码
在数据目录下新建一个merge files.py文件并写入以下代码
import pandas as pd import os data_list = [] for fname in os.listdir("."): if fname.startswith("monitor") and fname.endswith(".csv"): data_list.append(pd.read_csv(fname)) data_all = pd.concat(data_list) data_all.to_csv("monitor.csv", index=False)
到此就结束了
但是to_csv函数中index=False是什么意思,如果是True呢
源码中解释是指是否写入行名
我们试试如果设置为True
可以发现原来就是比之前多了一列索引值,原来是这样hh
-
Python将多个excel表格合并为一个表格
2020-09-20 22:11:58主要为大家详细介绍了Python将多个excel表格合并为一个表格的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
python合并多个excel表格
2020-06-12 10:27:04可合并多个excel表格,支持界面操作,操作简单,可浏览文件夹及选择表头行数 使用python实现,界面实现采用wxpython,支持不同格式的表格,需安装anaconda3.5及对应头文件,应用程序较大无法上传,如果需要可以联系... -
利用Python将多个excel文件合并为一个文件
2018-06-01 17:51:17# -*- coding: utf-8 -*-#导入需要使用的包import xlrd #读取Excel文件的包import xlsxwriter #将文件写入Excel的包#打开一个excel文件def open_xls(file): f = xlrd.open_workbook(file) return f#获取excel中...# -*- coding: utf-8 -*-
#导入需要使用的包
import xlrd #读取Excel文件的包
import xlsxwriter #将文件写入Excel的包
#打开一个excel文件
def open_xls(file):
f = xlrd.open_workbook(file)
return f
#获取excel中所有的sheet表
def getsheet(f):
return f.sheets()
#获取sheet表的行数
def get_Allrows(f,sheet):
table=f.sheets()[sheet]
return table.nrows
#读取文件内容并返回行内容
def getFile(file,shnum):
f=open_xls(file)
table=f.sheets()[shnum]
num=table.nrows
for row in range(num):
rdata=table.row_values(row)
datavalue.append(rdata)
return datavalue
#获取sheet表的个数
def getshnum(f):
x=0
sh=getsheet(f)
for sheet in sh:
x+=1
return x
#函数入口
if __name__=='__main__':
#定义要合并的excel文件列表
allxls=['F:/test/excel1.xlsx','F:/test/excel2.xlsx'] #列表中的为要读取文件的路径
#存储所有读取的结果
datavalue=[]
for fl in allxls:
f=open_xls(fl)
x=getshnum(f)
for shnum in range(x):
print("正在读取文件:"+str(fl)+"的第"+str(shnum)+"个sheet表的内容...")
rvalue=getFilect(fl,shnum)
#定义最终合并后生成的新文件
endfile='F:/test/excel3.xlsx'
wb=xlsxwriter.Workbook(endfile)
#创建一个sheet工作对象
ws=wb.add_worksheet()
for a in range(len(rvalue)):
for b in range(len(rvalue[a])):
c=rvalue[a][b]
ws.write(a,b,c)
wb1.close()print("文件合并完成")
源文件excel1:
源文件excel2:
运行结果:
合并后的excel3:
-
Python Excel教程之如何将多个 excel 文件合并为一个文件(教程含源码)
2022-06-02 21:40:36通常,我们正在使用 Excel 文件,并且我们肯定遇到过需要将多个 Excel 文件合并为一个的场景。传统方法一直是在 excel 中使用 VBA 代码来完成这项工作,但这是一个多步骤的过程,并不那么容易理解。另一种方法是手动...通常,我们正在使用 Excel 文件,并且我们肯定遇到过需要将多个 Excel 文件合并为一个的场景。传统方法一直是在 excel 中使用 VBA 代码来完成这项工作,但这是一个多步骤的过程,并不那么容易理解。另一种方法是手动将较长的 Excel 文件复制到其中,这不仅耗时、麻烦而且容易出错。
首先请安装Python
请到下面地址下载python安装包,并根据自己操作系统版本下载对应的安装包
https://www.python.org/downloads
一路next后,别忘配置路径
下面三个地址都要添加path
<C:\Users\Administrator\AppData\Local\Programs\Python\Python310\ C:\Users\Administrator\AppData\Local\Programs\Python\Python310\DLLs\ C:\Users\Administrator\AppData\Local\Programs\Python\Python310\Lib\ C:\Users\Administrator\AppData\Local\Programs\Python\Python310\Scripts\
-
Python实现多个Excel文件合并到一个文件中
2021-07-14 15:39:06利用Python合并excel文件,思路很简单:1.选择所要合并的文件所在的文件夹;2.筛选出后缀为xls的文件;3.扫描所有excel文件的每一个sheet,将得到的数据存在list列表中;4.将所有sheet的数据写到当前文件夹中,并... -
Python将一个Excel拆分为多个Excel
2020-09-19 23:36:24主要为大家详细介绍了Python将一个Excel拆分为多个Excel,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2020-09-18 08:01:29主要介绍了使用 Python 合并多个格式一致的 Excel 文件,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 -
如何使用Python脚本合并多个Excel文件
2022-05-29 17:48:05由于工作需要,客户需要将多个excel文件合并成一个excel中,由于本身的软件没有此功能,于是就想着临时的解决办法,之前也没有接触过python。于是上网查找,大概学了一下,并实现了该功能,在这里总结一下,分享出来... -
【办公自动化实例】使用python将多个excel文件中的多个sheet表合并到一个表内
2022-07-05 20:33:27例用python将多个excel文件中的多个sheet表合并到一个表内 -
【Python数据分析】利用Python将多个EXCEL表格合并为一个EXCEL表格
2022-04-18 12:25:05【Python数据分析】利用Python将多个EXCEL表格合并为一个EXCEL表格。想获取代码文件,请微信关注微信公众号“闲谈项目管理”,对话框回复“数据分析案例2”即可获得文件下载链接。 -
python处理多个excel文件-Python将多个excel文件合并为一个文件
2020-11-01 13:06:59利用Python,将多个excel文件合并为一个文件思路利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中。完整代码# -*- coding: utf-8 -*-#将多个Excel... -
【python】python合并多个excel文件,快!
2021-05-17 18:12:06如果在excel文件表比较少时,手工合并还可以应付,当几十个几百个甚至更多的表时,那就得用快捷方法了。 完整代码: import pandas as pd import os import openpyxl #文件路径 file_dir = r'/old_file' #构建新...