将文件夹内多个子文件里的Excel数据合并到一个文件,保存为CSV格式

该博客介绍了一个使用Python的pandas和os模块合并多个相同结构的Excel文件(xlsx格式)到一个CSV文件的过程。首先导入必要的库,然后定义文件路径,接着遍历指定目录下的所有Excel文件,将每个文件读取并转换为DataFrame,最后使用pd.concat合并所有数据并保存为CSV格式。
摘要由CSDN通过智能技术生成

将文件夹内多个子文件里的Excel数据合并到一个文件,保存为CSV格式

使用条件:
Excel文件必须是xlsx格式,且数据结构一致,方可用以下代码。

# 第一步 导入模块
import pandas as pd
import os
# pandas是python中数据分析最主要的模块
# os是实现实现办公自动化最为主要库之一

# 第二步 读取数据
# 设置合并所有的文件路径
path_dir = r'E:\e企简税\简税产品数据\2020年\简税数据\简税登录数据\2020登录\下半年\第4季度'
save_path = r"E:\呼叫中心数据反馈\高活跃高票量用户"
# r即是raw单词的所有,可以告诉python其中d额斜杠\不是转移字符,否则,只能
# 能写为双斜杠,即“E:\\9_培训资料\\1_办公自动化\\1_合并多个工作簿”才能被
# 识别为有效路径
# 为了做到心里面有数,可以新建一专门用来存放文件名称的列表
filename = []
# 建立专门用来存在数据框的列表
data_source = []
# 利用os模块中的os.walk()函数来对文件/文件夹/路径进行读取
# root表示该文件所在的路径
# dirs表示该文件下的子文件夹
# files表示文件夹下面所有文件
for root, dirs, files in os.walk(path_dir):
    print(root, '\n', dirs, '\n', files, '\n')
# 其中,\n代表换行,也就是三个列印出来的数据换行显示
# 结果
# E:\9_培训资料\1_办公自动化\1_合并多个工作簿 --- root
# [] --- dirs 表示没有子文件夹
# ['全国成人高等学校名录1.xlsx', '全国成人高等学校名录2.xlsx', '全国成人高等学校名录3.xlsx'] ----文件
print('开始对文件夹Excel逐个提取...')
for root, dirs, files in os.walk(path_dir):
    # print(root, '\n', dirs, '\n', files, '\n')
    # 对获取的文件进行逐个提取,并加入文件列表中
    # 使用for循环进行处理
    for file in files:
        # 列印出每个完整路径下的文件名
        # os.path.join()函数将路径和文件名结合到一起
        # E:\9_培训资料\1_办公自动化\1_合并多个工作簿\全国成人高等学校名录1.xlsx
        print(os.path.join(root, file))

        # 将文件名存入到列表中
        filename.append(os.path.join(root, file))

        # 读取excel数据并转换成DataFrame形式
        df = pd.read_excel(os.path.join(root, file))

        # 将二维数组的数据存入到列表中,以便后续进行转化
        data_source.append(df)

    # 为了以防万一,我们可以打印文件名列表,看下是否都已经将所需数据合并
merge_result = pd.concat(data_source,ignore_index=True)
print(merge_result)
print('合并完成!!')

merge_result.to_csv(os.path.join(save_path,'简税近3月登录合并明细201229.csv'), index = False)
print('保存完毕!!')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值