You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用跨Windows和Mac的Python库自动化数据透视表并导出Excel?

跨平台Python生成Excel数据透视表方案

一、跨平台可用的库组合

  • pandas + xlsxwriter/openpyxl:这套组合完全兼容Windows和Mac系统,无需依赖系统原生Excel应用,纯Python实现,兼容性拉满。
    • pandas负责数据清洗、透视表计算
    • xlsxwriter/openpyxl负责将透视表写入Excel(xlsxwriter在生成可交互原生透视表的功能上更完善)

二、实现目标透视表效果的示例代码

假设你的模拟数据结构如下,先完成nconv到Conversation的重命名,再生成透视表:

import pandas as pd

# 模拟输入数据
data = {
    'nconv': ['会话A', '会话B', '会话A', '会话C', '会话B'],
    '用户ID': ['U001', 'U002', 'U001', 'U003', 'U002'],
    '时长': [15, 20, 10, 25, 18],
    '类型': ['咨询', '投诉', '咨询', '咨询', '投诉']
}

df = pd.DataFrame(data)
# 重命名字段
df.rename(columns={'nconv': 'Conversation'}, inplace=True)

# 生成Excel文件
writer = pd.ExcelWriter('透视表结果.xlsx', engine='xlsxwriter')
# 写入原始数据(可选)
df.to_excel(writer, sheet_name='原始数据', index=False)

# 生成静态透视表(直接输出计算结果)
pivot_df = pd.pivot_table(
    df,
    index=['Conversation'],
    columns=['类型'],
    values=['时长', '用户ID'],
    aggfunc={'时长': 'sum', '用户ID': 'nunique'},
    fill_value=0
)
pivot_df.to_excel(writer, sheet_name='静态透视表')

# 生成Excel原生可交互透视表(支持拖拽字段、刷新数据)
workbook = writer.book
worksheet = writer.sheets['原始数据']
pivot_worksheet = workbook.add_worksheet('可交互透视表')

pivot_table = pivot_worksheet.add_pivot_table(
    data='原始数据!$A:$D',
    ref='A1',
    fields=[
        {'row': 'Conversation'},
        {'column': '类型'},
        {'data': '时长', 'function': 'sum'},
        {'data': '用户ID', 'function': 'count_unique'}
    ]
)

writer.close()

三、前置依赖安装

在Windows或Mac终端执行以下命令安装所需库:

pip install pandas xlsxwriter openpyxl

补充说明

  • 无需依赖pywin32这类系统专属库,彻底解决跨平台兼容性问题
  • 静态透视表适合直接输出计算结果;可交互透视表保留Excel原生透视表的操作功能,按需选择即可

内容的提问来源于stack exchange,提问作者SorinT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 16:47:09