吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1770|回复: 8
收起左侧

[Python 转载] python多个文件合并特定条件数据行至一个工作表

[复制链接]
花木成畦手自栽 发表于 2022-4-29 14:29
本帖最后由 花木成畦手自栽 于 2022-4-29 14:31 编辑

工作中,需要汇总门店交上来的多个相同列、格式的EXCEL文档,当然此类程序很多,重点在于只合并某列为特定条件的数据。

例如:A、B、C、D、E五个相同结构EXCEL文件,只要”大小“列为”小“的行数据。

用PYTHON PANDAS写的小程序,也是借鉴于大佬们分享教程,水平有限,大佬勿喷。本着人人为我,我为人人的精神,分享给有需要的小伙伴使用。
[Python] 纯文本查看 复制代码
import os
import pandas as pd


def merge_data():
    path = os.getcwd() + '\\'+'DATA' #获取EXCEL文件目录
    file_list = os.listdir(path) #获取EXCEL文件列表
    save_path = os.getcwd() + '\\' + 'DATA_合并'+ '\\' + '合并.xlsx' #设置合并后输出目录和文件名

    print("----------开始合并----------")
    df = pd.read_excel(path + '\\'+ file_list[0]) #读取第一个EXCEL文件
    df_temp = df.loc[df['列标题'] == '值'] #根据某列是为“值”提取成新的DF
    print("添加"+file_list[0],df_temp.shape[0],"行,合计:",df_temp.shape[0],"行") #屏幕显示新DF为多少行,合并后共多少行

    for i in range(1,len(file_list)): #循环第2个~最后一个EXCEL文件
        df1 = pd.read_excel(path + '\\' + file_list[i])  #读取EXCEL文件
        df2 = df1.loc[df1['是否一致'] == '否'] #根据某列是为“值”提取成新的DF
        df_temp = pd.concat([df_temp,df2]) #合并2个DF
        print("添加"+file_list[i],df2.shape[0],"行,合计:",df_temp.shape[0],"行") #屏幕显示DF2为多少行,合并后共多少行
    df_temp.to_excel(save_path) #按路径保存文件
    print("----------合并完成----------")

if __name__=='__main__':
    merge_data()

免费评分

参与人数 1吾爱币 +7 热心值 +1 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zhaofucheng 发表于 2022-4-29 15:19
直接用import csv  还少导入一个库
 楼主| 花木成畦手自栽 发表于 2022-4-29 16:20
头像被屏蔽
xiadongming 发表于 2022-4-29 22:51
1e3e 发表于 2023-3-28 22:08
xlsxwriter.exceptions.FileCreateError: [Errno 2] No such file or directory: 'D:\\pandaspython多个文件合并特定条件数据行至一个工作表\\

报错了,怎么回事哈?
1e3e 发表于 2023-3-28 22:15
代码有问题,运行不了的
 楼主| 花木成畦手自栽 发表于 2023-3-29 10:30
1e3e 发表于 2023-3-28 22:15
代码有问题,运行不了的

将'\\'改成'\'试试,可能是版本问题
1e3e 发表于 2023-3-29 12:41
花木成畦手自栽 发表于 2023-3-29 10:30
将'\\'改成'\'试试,可能是版本问题

save_path = os.getcwd() + '\' + 'DATA_合并' + '\' + '合并.xlsx'  # 设置合并后输出目录和文件名
                                     ^
SyntaxError: invalid syntax
1e3e 发表于 2023-3-29 12:44
花木成畦手自栽 发表于 2023-3-29 10:30
将'\\'改成'\'试试,可能是版本问题

搞好了,谢谢你的分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-5 14:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表