影刀RPA实战:Excel数据透视表指令

1.Excel数据透视表

Excel数据透视表是Excel中一个强大的数据分析工具,它能够快速对大量数据进行汇总、分析和呈现。用户可以通过简单的拖放操作,将数据字段分配到行标签、列标签、值和报表筛选器区域,实现数据的多维度分析。

创建数据透视表非常简单,只需选择数据区域,然后点击“插入”选项卡中的“数据透视表”按钮。在弹出的对话框中,可以选择将数据透视表放置在新工作表或现有工作表上。

数据透视表的字段列表允许用户将字段拖放到不同的区域,以不同的方式组织和分析数据。行标签和列标签用于数据的分组,而值区域则显示数据的汇总结果,如求和、平均值、计数等。此外,报表筛选器允许用户根据特定条件筛选数据,以进一步细化分析。

数据透视表还支持数据的分组、排序和筛选,以及多种预设样式的应用,使得数据的呈现更加直观和美观。如果原始数据发生变化,用户可以轻松刷新数据透视表,以确保分析结果的准确性。

总之,Excel数据透视表是一个功能丰富、操作简便的工具,它极大地简化了数据分析的过程,帮助用户快速从数据中获取有价值的信息。
 

数据透视表在分析数据方面的优势:

  • 快速汇总大量数据:数据透视表可以迅速处理成千上万条记录,自动进行求和、平均、计数等计算。

  • 灵活性和动态性:用户可以通过拖放字段轻松改变数据的汇总方式,数据透视表会即时更新以反映这些变化。

  • 多维度分析:可以同时分析数据的多个维度,如按地区、产品、时间等,以发现数据间的复杂关系。

  • 交互性:数据透视表允许用户进行交互式探索,如筛选、排序和分组,以深入理解数据。

  • 数据可视化:可以轻松地将数据透视表中的数据转换为图表,以直观展示分析结果。

  • 自动更新:当原始数据源发生变化时,数据透视表可以自动更新,确保分析结果的时效性。

  • 减少错误:由于数据透视表自动处理数据汇总,减少了手动计算可能引入的错误。

  • 支持复杂计算:可以创建自定义计算字段和使用复杂的计算,如百分比、差异、指数等。

  • 数据钻取:用户可以通过钻取功能查看数据的不同层次,从总体到细节,以获得更深入的洞察。

  • 报表筛选:可以轻松地添加筛选器来限制数据透视表中显示的数据,以进行更精确的分析。

  • 数据整合:可以整合来自不同数据源的数据,进行跨数据源的分析。

  • 节省时间:对于需要频繁进行相同类型分析的用户,创建一次数据透视表后,可以重复使用,大大节省时间。

2.实战目标

本次实战主要介绍使用影刀RPA操作Excel数据透视表。实现数据汇总,筛选即设置切片器。

演示销售数据基础表:

数据透视表:

3.实战步骤

3.1 指令说明

3.1.1 新建数据透视表

功能:依据数据源创建数据透视表,该指令的设置难点是透视表设置,主要接收的参数是JSON字符串,使用时,最好先在Excel中创建数据透视表,然后使用“在Excel内指出”功能获取数据透视表的配置字符串,获取后点击确定,配置字符串会自动回显。

Excel对象:选择一个之前通过【打开/新建Excel】或【获取当前激活的Excel对象】指令创建的Excel对象

透视表设置:透视表的设置信息,可以在Excel中建好数据透视表后,通过「在Excel内指出」拾取设置信息

数据源:「在Excel内指出」可同步拾取到已有透视表的数据源,可在此基础上作修改

3.1.2 筛选数据透视表

功能:用于设置数据透视表中筛选器

Excel对象:选择一个之前通过【打开/新建Excel】或【获取当前激活的Excel对象】指令创建的Excel对象

所在Sheet页名称:指定要刷新的数据透视表所在的Sheet页,选填,默认为当前激活的Sheet页

透视表名称或位置:若相应Sheet页中只有一张数据透视表,直接填1即可,若有多张,可指定名称,也可通过「在Excel中指出」拾取数据透视表名称

筛选器名称:设置筛选器名称

选择方式:全部选择/部分选择

筛选器内容:指定要筛选的内容,仅在部分选择时生效

 

3.1.3 刷新数据透视表

功能:当数据透视表引用的数据或数据源源发生改变时,刷新数据透视表同步数据

Excel对象:选择一个之前通过【打开/新建Excel】或【获取当前激活的Excel对象】指令创建的Excel对象

所在Sheet页名称:指定要刷新的数据透视表所在的Sheet页,选填,默认为当前激活的Sheet页

透视表名称或位置:若相应Sheet页中只有一张数据透视表,直接填1即可,若有多张,可指定名称,也可通过「在Excel中指出」拾取数据透视表名称

3.1.4 刷新透视表

功能:该指令实现在刷新指定 sheet 透视表的功能

Excel 对象: excel_instance, 选择通过【启动Excel】或【获取当前激活的Excel】指令创建的Excel对象

Sheet页名称: 字符串, 选填, 默认为当前激活的 Sheet 页

3.15 设置切片器

功能:该指令通过接口在工作簿的透视表中插入切片器

Excel 对象: excel_instance, 选择通过【启动Excel】或【获取当前激活的Excel】指令创建的Excel对象

切片器名称: 字符串, 切片器的名称, 一般为, "切片器_xx"(在切片器名称加上切片器_)

项名称: 字符串, 需要设置的项, 如, 西瓜

勾选: 复选框, 默认, 勾选

3.2 实战代码

3.2.1 新建数据透视表

目标:新增sheet工资表,命名销售金额汇总,将生成的透视表存放到单元格区域A3:B13

配置字符串:

在字符串中我们需要修改的又以下几个地方:

sheetName:存放数据透视表的工作表名称

tableRange:存放数据透视表的工作表中的单元格区域

name:数据透视表的名称,

{
    "sourceType": 1,
    "sheetName": "销售金额汇总",
    "tableRange": "A3:B13",
    "name": "数据透视表1",
    "properties": [{
        "name": "ColumnGrand",
        "value": true
    }, {
        "name": "RowGrand",
        "value": true
    }, {
        "name": "SubtotalHiddenPageItems",
        "value": false
    }, {
        "name": "InGridDropZones",
        "value": false
    }, {
        "name": "LayoutRowDefault",
        "value": 0
    }, {
        "name": "DisplayFieldCaptions",
        "value": true
    }, {
        "name": "ShowDrillIndicators",
        "value": true
    }, {
        "name": "DisplayContextTooltips",
        "value": true
    }, {
        "name": "SortUsingCustomLists",
        "value": true
    }, {
        "name": "DisplayImmediateItems",
        "value": true
    }, {
        "name": "FieldListSortAscending",
        "value": false
    }, {
        "name": "ShowValuesRow",
        "value": false
    }],
    "fields": [{
        "name": "销售人员",
        "index": "1",
        "formula": null,
        "customName": "销售人员",
        "subtotals": [true, false, false, false, false, false, false, false, false, false, false, false],
        "props": [{
            "name": "Orientation",
            "value": 1
        }, {
            "name": "ShowAllItems",
            "value": false
        }, {
            "name": "EnableItemSelection",
            "value": true
        }]
    }, {
        "name": "订购额",
        "index": "1",
        "formula": "",
        "customName": "求和项:订购额",
        "subtotals": [],
        "props": [{
            "name": "Orientation",
            "value": 4
        }, {
            "name": "ShowAllItems",
            "value": false
        }, {
            "name": "Calculation",
            "value": -4143
        }, {
            "name": "Function",
            "value": -4157
        }, {
            "name": "NumberFormat",
            "value": "General"
        }]
    }]
}

演示:

3.2.2 筛选数据透视表

目标:在新建的数据透视中筛选销售人员

演示:

如果要筛选多级,就多复制指令,与一般的筛选操作一样

4.注意事项

生成数据透视表前,做好先做一个模版,我们通过指令获取配置信息,然后再依据实际需求修改,一般需要修改的地方有,数据透视表存放sheet页,存放单元格区域,如果你要改数据透视表名称的需求,也可以修改,数据透视表基础数据源区域的修改。

大多数情况下,我们都是从ERP中导出数据,然后生成数据透视表,有时候我们可能生成多个,这个时候我们就需要拿出时间,把数据透视表的设置字符串都获取到,然后存放到数据库中,或是数据表中,包括数据源,考虑他的延展行,避免丢数据,这样导出数据后,我们就可以通过循环制作每一个数据透视表。

在制作的过程,可能报错:pywintypes.com_error

pywintypes.com_error: (-2147352567, '发生意外。', (0, None, None, None, 0, -2147024809), None)

这个错误,是excel进程有残留,我们必须把他全部杀死,所以,运行前,我们使用终止程序指令杀死全部excel进程。如果还是不行,就的重启电脑了。

5.最后

感谢大家,请大家多多支持!

### 使用 Stable Diffusion 模型生成视频的方法 为了利用 Stable Diffusion 模型创建视频内容,通常会采用一系列特定的技术流程来实现这一目标。以下是具体方法: #### 准备工作环境 确保安装并配置好必要的软件包和工具链。这包括但不限于 PyTorch 和 Hugging Face 的 Diffusers 库[^2]。 ```bash pip install torch torchvision torchaudio diffusers transformers accelerate safetensors ``` #### 加载预训练模型 通过调用 `diffusers` 中提供的 API 来加载预先训练好的 Stable Diffusion 模型实例。这些模型能够执行基于文本到图像或多帧序列的任务转换。 ```python from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler import torch model_id = "runwayml/stable-diffusion-v1-5" pipeline = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16).to("cuda") pipeline.scheduler = DPMSolverMultistepScheduler.from_config(pipeline.scheduler.config) ``` #### 定义动画参数 设置用于控制视频合成的关键变量,比如帧率、持续时间以及每秒产生的图片数量等属性。此外还需要定义场景之间的过渡效果和平滑度选项。 ```python num_inference_steps = 50 # 推理步数 guidance_scale = 7.5 # 创意指导强度 video_length_seconds = 8 # 输出视频长度(秒) frames_per_second = 24 # 帧速率 (FPS) total_frames = int(video_length_seconds * frames_per_second) ``` #### 创建连续帧序列 对于每一帧都应用相同的 prompt 或者动态调整 prompts 来构建连贯的故事线。可以引入一些变化因素使相邻两帧之间存在差异从而形成流畅的动作感。 ```python prompts = ["A beautiful landscape at sunrise"] * total_frames for i in range(total_frames): if i % 10 == 0 and i != 0: new_prompt = f"A beautiful landscape with {i//10} birds flying over it." prompts[i:] = [new_prompt]*(total_frames-i) images = [] for frame_idx in range(total_frames): image = pipeline(prompts[frame_idx], num_inference_steps=num_inference_steps, guidance_scale=guidance_scale).images[0] images.append(image) ``` #### 合成最终视频文件 最后一步就是把所有的静态图象拼接起来成为一个完整的 MP4 文件或者其他格式的多媒体资源。可借助第三方库如 moviepy 实现此操作。 ```python from moviepy.editor import ImageSequenceClip clip = ImageSequenceClip(images, fps=frames_per_second) output_video_path = "./generated_video.mp4" clip.write_videofile(output_video_path, codec="libx264", audio=False) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微刻时光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值