pandas模块--------------------------------相同(不同)文件夹下相同格式的Excel表格数据,汇总到一张表里面

相同文件夹下合并Excel
上代码:
import pandas as pd
import os


#文件路径
file_dir = r'C:/Users/Administrator/Desktop/test/'
#构建新的表格名称
new_filename = file_dir + '/new_file.xlsx'
#找到文件路径下的所有表格名称,返回列表
file_list = os.listdir(file_dir)
new_list = []

for file in file_list:
#重构文件路径
file_path = os.path.join(file_dir,file)
#将excel转换成DataFrame
dataframe = pd.read_excel(file_path,engine='openpyxl')
#保存到新列表中
new_list.append(dataframe)

#多个DataFrame合并为一个
df = pd.concat(new_list)
#写入到一个新excel表中
df.to_excel(new_filename,index=False)
实现效果如下:

 

 

 

 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

不同文件夹下合并excel表

import os

file_dir = r'C:\Users\Administrator\Desktop\test'
file_list = os.walk(file_dir)
for x,y,z in file_list: #x是文件路径,y是目录下的文件夹,z目录下的文件
print('x是{}'.format(x))
print('y是{}'.format(y))
print('z是{}'.format(z))
print('*'*50)

G:\Python3.8解释器\python.exe C:/Users/Administrator/PycharmProjects/pythonProject/first.py
x是C:\Users\Administrator\Desktop\test
y是['A', 'B', 'C']
z是['~$cache1']
**************************************************
x是C:\Users\Administrator\Desktop\test\A
y是[]
z是['1.xlsx']
**************************************************
x是C:\Users\Administrator\Desktop\test\B
y是[]
z是['2.xlsx']
**************************************************
x是C:\Users\Administrator\Desktop\test\C
y是[]
z是['3.xlsx']
**************************************************

Process finished with exit code 0

合并代码如下:

import pandas as pd
import os

#文件路径
file_dir = r'C:\Users\Administrator\Desktop\test'
#构建新的表格名称
new_filename = file_dir + '\\new_file.xlsx'
#找到文件路径下的所有表格名称
file_list = os.walk(file_dir)
new_list = []

for dir_path,dirs,files in file_list:
for file in files:
#重构文件路径
file_path = os.path.join(dir_path,file)
#将excel转换成DataFrame
df = pd.read_excel(file_path,engine='openpyxl')
new_list.append(df)

#多个DataFrame合并为一个
df = pd.concat(new_list)
#写入到一个新excel表中
df.to_excel(new_filename,index=False)

 

 


########################################################
坑:

如果不加引擎格式openpyxl,就会报以下错误:

G:\Python3.8解释器\python.exe C:/Users/Administrator/PycharmProjects/pythonProject/first.py
Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/pythonProject/first.py", line 17, in <module>
df = pd.read_excel(file_path)
File "C:\Users\Administrator\AppData\Roaming\Python\Python38\site-packages\pandas\io\excel\_base.py", line 478, in read_excel
io = ExcelFile(io, storage_options=storage_options, engine=engine)
File "C:\Users\Administrator\AppData\Roaming\Python\Python38\site-packages\pandas\io\excel\_base.py", line 1500, in __init__
raise ValueError(
ValueError: Excel file format cannot be determined, you must specify an engine manually.

Process finished with exit code 1

posted @ 2023-08-01 10:36  往事已成昨天  阅读(88)  评论(0编辑  收藏  举报