pythonpandas操作excel合并指定⽂件夹下的多个excel
import os
import sys
import xlrd
import xlsxwriter
import pandas as pd
def get_file_list(dir, file_type_list=['txt', 'csv', 'xlsx', 'xls'], file_list=[]):
'''
获取指定⽂件夹下指定类型⽂件路径
:param dir: ⽂件夹路径
:param file_type_list: ⽂件类型
:
param file_list: ⽂件列表
:return:
'''
for root, _, files in os.walk(dir):
for file in files:
file_type = file[file.rfind('.') + 1:]
python怎么读文件夹下的文件夹if file_type in file_type_list:
file_list.append(os.path.join(root, file))
return file_list
def merge_xlsx_files(file_dir_path, out_file_path,
file_type_list=['txt', 'csv', 'xlsx', 'xls'],
out_file_name='result.xlsx'):
'''
合并⽬录下指定类型的⽂件
:param file_dir_path: ⽂件夹路径
:param out_file_path: 输出⽂件夹路径
:param file_type_list: 需要合并的⽂件类型
:param out_file_name: 输出⽂件名称
:return:
'''
file_paths = get_file_list(file_dir_path, file_type_list)
if not ists(out_file_path):
os.makedirs(out_file_path)
dfs = []
for file in file_paths:
print(f'file={file}')
dfs.ad_excel(file))
df = pd.concat(dfs)
<_excel(os.path.join(out_file_path, out_file_name), index=False)
print(f'out_file_path={out_file_path}')
if __name__ == '__main__':
file_dir_path = os.path.join(sys.path[0], 'source')
out_file_path = os.path.join(sys.path[0], 'out')
merge_xlsx_files(file_dir_path, out_file_path, ['xlsx'])
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论