python - 使用 XLSX Writer 将数据透视表写入 Excel 工作簿范围

标签 python python-3.x

我有一系列表格想要写入同一个工作表。唯一与此类似的其他帖子是 here 。我也看了here但没有看到解决方案。

我希望出现与 SAS ODS 输出代码类似的情况,将 proc freq 结果发送到 Excel 文件。我的想法是将表格结果转换为新的数据框,然后将输出结果堆叠到工作表中。

pd.value_counts(df['name'])
df.groupby('name').aggregate({'Id': lambda x: x.unique()})

如果我知道表格对应的行数,那么理想情况下我应该知道要写入的适当单元格范围。

我正在使用:

import xlsxwriter
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()

tableone = pd.value_counts(df['name'])
tabletwo = df.groupby('name').aggregate({'Id': lambda x: x.unique()})

worksheet.write('B2:C15', tableone)
worksheet.write('D2:E15', tabletwo)

workbook.close()

编辑:包括 tableone View

表一:

  Name           |        Freq
    A                       5
    B                       1
    C                       6
    D                       11

最佳答案

import xlsxwriter
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()

tableone = pd.value_counts(df['name'])
tabletwo = df.groupby('name').aggregate({'Id': lambda x: x.unique()})


col = 1, row = 1 #This is cell b2
for value in tableone:
    if col == 16:
        row += 1
        col = 1
    worksheet.write(row,col, value)
    col += 1

col = 3, row = 1 #This is cell d2
for value in tabletwo:
    if col == 16:
        row += 1
        col = 1
    worksheet.write(row,col,value)
    col += 1

关于python - 使用 XLSX Writer 将数据透视表写入 Excel 工作簿范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28203343/

相关文章:

python - 截取屏幕的几个区域并使用 PyAutoGui - Python 3.4 保存它们

python - Jinja2 For 循环中的 Flask 表单处理

python - 尝试在Python中以特殊格式在字符串中查找带有通配符整数的文本

Python max() 没有关键字参数

python - `in` 运算符链接出现意外结果

python - 如何根据不同的索引阈值过滤数据帧

python - 使用 scipy 最大化目标(通过 kelly criterium)

python - PySide + QTableView 示例

python - PyTorch 的张量是如何实现的?

python-3.x - 如何使用 tkinter 按钮执行 python 文件?