数字化运维 – PYTHON 日常数据分析 – EXCEL常用聚合函数处理技巧

释放双眼,带上耳机,听听看~!

案例01 对一个工作簿中的所有工作表分别求和

  • 代码文件:对一个工作簿中的所有工作表分别求和.py – 数据文件:采购表.xlsx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import os
import xlwings as xw
import pandas as pd
app=xw.App(visible=True,add_book=False)
workbook=app.books.open(r'D:\22\采购表.xlsx')
for i in workbook.sheets:
    values=i.range('A1').expand()
    data=values.options(pd.DataFrame).value
    sums=data['采购金额'].sum()
   
    column=values.value[0].index('采购金额')+1
    row=values.shape[0]
    i.range(row+1,column).value=sums
workbook.save()
workbook.close()
app.quit()

第10行代码中的index()是Python中列表对象的函数,常用于在列表中查找某个元素的索引位置。该函数的语法格式和常用参数含义如下。- 第11行代码中的shape是pandas模块中DataFrame对象的一个属性,它返回的是一个元组,其中有两个元素,分别代表DataFrame的行数和列数。

举一反三 对一个工作簿中的所有工作表分别求和并将求和结果写入固定单元格

  • 代码文件:对一个工作簿中的所有工作表分别求和并将求和结果写入固定单元格.py – 数据文件:采购表.xlsx

1
2
3
4
5
6
7
8
9
10
11
12
import os
import xlwings as xw
import pandas as pd
app=xw.App(visible=True,add_book=False)
workbook=app.books.open(r'D:\22\采购表.xlsx')
for i in workbook.sheets:
    values=i.range('A1').expand().options(pd.DataFrame).value
    sums=values['采购金额'].sum()
    i.range('F1').value=sums   #将求和后的内容写到F1单元格中
workbook.save()
workbook.close()
app.quit()

数字化运维 – PYTHON 日常数据分析 – EXCEL常用聚合函数处理技巧

案例02 批量统计工作簿的最大值和最小值

  • 代码文件:批量统计工作簿的最大值和最小值.py – 数据文件:产品销售统计表(文件夹)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import os
import xlwings as xw
import pandas as pd
app=xw.App(visible=True,add_book=False)
file_path=r'D:\\22\产品销售统计表'
file_list=os.listdir(file_path)
for j in file_list:
    if os.path.splitext(j)[1]=='.xlsx':
        file_paths=os.path.join(file_path,j)
        workbook=app.books.open(file_paths)
        for i in workbook.sheets:
            values=i.range('A1').expand().options(pd.DataFrame).value
            max0=values['销售利润'].max()
            min0=values['销售利润'].min()
            i.range('I1').value='最大销售利润'
            i.range('J1').value=max0
            i.range('I2').value='最小销售利润'
            i.range('J2').value=min0
            i.autofit()
        workbook.save()
        workbook.close()
app.quit()

举一反三 批量统计一个工作簿中所有工作表的最大值和最小值

  • 代码文件:批量统计一个工作簿中所有工作表的最大值和最小值.py- 数据文件:产品销售统计表.xlsx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import xlwings as xw
import pandas as pd
app=xw.App(visible=True,add_book=False)
workbook=app.books.open(r'CD:\22\产品销售统计表.xlsx')
for i in workbook.sheets:
    values=i.range('A1').expand().options(pd.DataFrame).value
    max0=values['销售利润'].max()
    min0=values['销售利润'].min()
    i.range('I3').value='最大销售利润'
    i.range('J3').value=max0
    i.range('I4').value='最小销售利润'
    i.range('J4').value=min0
    i.autofit()
workbook.save()
workbook.close()
app.quit()

给TA打赏
共{{data.count}}人
人已打赏
安全运维

安全运维之道:发现、解决问题的有效闭环

2024-4-14 20:59:36

安全运维

稳定性建设 – 架构优化的关键策略

2025-2-11 17:15:56

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索