pandas批量处理excel表格

pandas 批量处理excel表格

import pandas as pd
import numpy as np

一.少量表格的操作

1.读取数据

data1=pd.read_excel("D:\Windows 10 Documents\Desktop\pd_excel\李大牛_业绩表.xlsx")
data2=pd.read_excel("D:\Windows 10 Documents\Desktop\pd_excel\刘小鼠_业绩表.xlsx")
data3=pd.read_excel("D:\Windows 10 Documents\Desktop\pd_excel\王小兔_业绩表.xlsx")
data4=pd.read_excel("D:\Windows 10 Documents\Desktop\pd_excel\张小虎_业绩表.xlsx")
data1
姓名 销售产品 销售金额 销售时间
0 李大牛 海尔冰箱 10000 2012-12-01
1 李大牛 海尔空调 23450 2012-12-02
2 李大牛 联想电脑 32000 2012-12-03
3 李大牛 华为手机 65000 2012-12-04
4 李大牛 苹果手机 8000 2012-12-05
5 李大牛 oppo手机 4000 2012-12-06

2.合并数据

data=pd.concat([data1,data2,data3,data4])
data=pd.concat([data1,data2,data3,data4],ignore_index=True)

3.生成excel

data.to_excel("D:\Windows 10 Documents\Desktop\业绩表.xlsx")

4.计算数据

data.loc["销售总金额","销售金额"]=data["销售金额"].sum()
data
姓名 销售产品 销售金额 销售时间
0 李大牛 海尔冰箱 10000.0 2012-12-01
1 李大牛 海尔空调 23450.0 2012-12-02
2 李大牛 联想电脑 32000.0 2012-12-03
3 李大牛 华为手机 65000.0 2012-12-04
4 李大牛 苹果手机 8000.0 2012-12-05
5 李大牛 oppo手机 4000.0 2012-12-06
6 刘小鼠 格力冰箱 20000.0 2012-12-02
7 刘小鼠 格力空调 33450.0 2012-12-02
8 刘小鼠 联想电脑 42000.0 2012-12-03
9 刘小鼠 华为手机 55000.0 2012-12-04
10 刘小鼠 苹果手机 6000.0 2012-12-05
11 刘小鼠 oppo手机 8000.0 2012-12-07
12 王小兔 美的冰箱 30000.0 2012-12-02
13 王小兔 美的空调 43450.0 2012-12-02
14 王小兔 小米电脑 22000.0 2012-12-03
15 王小兔 华为手机 35000.0 2012-12-08
16 王小兔 苹果手机 2000.0 2012-12-09
17 王小兔 oppo手机 10000.0 2012-12-10
18 张小虎 海信冰箱 50100.0 2012-12-02
19 张小虎 海信空调 43450.0 2012-12-02
20 张小虎 华为电脑 52000.0 2012-12-03
21 张小虎 华为手机 25000.0 2012-12-08
22 张小虎 苹果手机 3000.0 2012-12-09
23 张小虎 oppo手机 23400.0 2012-12-10
销售总金额 NaN NaN 646300.0 NaT

二. 批量处理表格

1.批量生成excel表

import random
product=["海信空调","海尔冰箱","格力空调","海信冰箱","晶弘冰箱","苹果手机","联想电脑","苹果电脑","华为电脑","弘基电脑","小米手机","华为手机","OPPO手机","vivo手机"]
#生成100个excel文件
for i in range(100):
    data=pd.DataFrame()
    data["姓名"]=np.zeros(6)
    name = "王" + str(i)
    data["姓名"]=name
    data["销售产品"]=random.sample(product,6)
    data["销售金额"]=np.random.randint(10000,60000,size=6)
    data["时间"]=random.sample(pd.date_range(start="20200101", end="20200113", freq="D").tolist(),6)
    data.to_excel("D:\Windows 10 Documents\Desktop\pd_excel\{}_业绩表.xlsx".format(name))

2.批量操作excel表

#读取文件夹中的所有excel表格
import os
def file_name(file_dir):
    """个人销售总金额汇总"""
    total=pd.DataFrame(columns=["姓名","个人销售金额"])
    for dirpath, dirnames, filenames in os.walk(file_dir):
#         print("dirpath",dirpath)
#         print("dirnames",dirnames)
#         print("filenames",filenames)
        count=0
        for i in filenames:
            file_path=file_dir+"\\"+i
#             print(i)  # 当前路径下所有非目录文件
            data=pd.read_excel(file_path)
            name=i[:3]
            total.loc[count]=[name,data["销售金额"].sum()]
            count+=1
#            
    return total
file_dir="D:\Windows 10 Documents\Desktop\pd_excel"
total=file_name(file_dir)
# total
total["个人销售金额"].sum()#求和
total["个人销售金额"].mean()#求均值
total["个人销售金额"].max()#求最大值
total["个人销售金额"].min()#求最小值
total.to_excel("D:\Windows 10 Documents\Desktop\总业绩表.xlsx")

批量处理excel表格 总结

1.找文件路径 #os模块
2.路径+文件名 拼接
3.读取数据 #read_excel()
4.操作 (例子中是进行100个销售人员,个人总额度的汇总)

python技术交流 1029280696

发布了5 篇原创文章 · 获赞 1 · 访问量 348
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览