繁体   English   中英

使用 Pandas 将 Python 创建的 Pivot 表写入 ZC1D81AF5835844ED8FDC0B4E9D93691Z 表

[英]Writing a Python Created Pivot Table using Pandas to a Excel Document

我一直致力于自动化 python 中的一系列报告。 我一直在尝试从导入的 csv (binlift.csv) 创建一系列 pivot 表。 我发现 Pandas 库对此非常有用,但是,我似乎找不到任何可以帮助我将 Panda 创建的 pivot 表写入我的 excel 文档(Template.xlsx)并且想知道是否有人可以帮助。 到目前为止,我已经编写了以下代码

import openpyxl
import csv
from datetime import datetime
import datetime
import pandas as pd
import numpy as np


file1 = "Template.xlsx"   # template file
file2 = "binlift.csv"     # raw data csv


wb1 = openpyxl.load_workbook(file1) # opens template
ws1 = wb1.create_sheet("Raw Data") # create a new sheet in template called Raw Data


summary = wb1.worksheets[0]    # variables given to sheets for manipulation
rawdata = wb1.worksheets[1]



headings = ["READER","BEATID","LIFTYEAR","LIFTMONTH","LIFTWEEK","LIFTDAY","TAGGED","UNTAGGEDLIFT","LIFT"]
df = pd.read_csv(file2, names=headings)

pivot_1 = pd.pivot_table(df, index=["LIFTYEAR", "LIFTMONTH","LIFTWEEK"], values=["TAGGED","UNTAGGEDLIFT","LIFT"],aggfunc=np.sum)
pivot_2 = pd.pivot_table(df, index=["LIFTYEAR", "LIFTMONTH"], values=["TAGGED","UNTAGGEDLIFT"],aggfunc=np.sum)
pivot_3 = pd.pivot_table(df, index=["READER"], values=["TAGGED","UNTAGGEDLIFT","LIFT"],aggfunc=np.sum)

print(pivot_1)
print(pivot_2)
print(pivot_3)

wb1.save('test.xlsx')enter code here

pandas 中有一个选项可以写入“xlsx”文件。 在这里,基本上我们得到了 pivot 表的所有索引(在级别 0),然后我们在这些索引上一一获取 go 以对表进行子集化并写入表的该部分。

writer = pd.ExcelWriter('output.xlsx')

for manager in pivot_1.index.get_level_values(0).unique():
    temp_df = pivot_1.xs(manager, level=0)
    temp_df.to_excel(writer, manager)

writer.save()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM