在excel中创建数据透视表
这是我到目前为止尝试过的一段代码,它正在创建一个透视表,但与我们看到的手动创建的透视表不同,还有其他方法可以创建它。 我想创建一个数据透视表,就像excel中的数据透视表一样,但它只是显示了数字。如果有其他方法可以创建数据透视表,请帮助我。昨天我也问了同样的问题,但没有尝试。 这是我使用的输入示例在excel中创建数据透视表,excel,python-3.x,pandas,win32com,Excel,Python 3.x,Pandas,Win32com,这是我到目前为止尝试过的一段代码,它正在创建一个透视表,但与我们看到的手动创建的透视表不同,还有其他方法可以创建它。 我想创建一个数据透视表,就像excel中的数据透视表一样,但它只是显示了数字。如果有其他方法可以创建数据透视表,请帮助我。昨天我也问了同样的问题,但没有尝试。 这是我使用的输入示例 你能展示一下你的输入表格的样本吗?你想让输出看起来像。你必须以一种可以让别人在他们本地机器上重现你的问题的方式提出你的问题。让我分享输入样本,我在这里根据De计算索引。你必须以一种可以让我复制和粘贴
你能展示一下你的输入表格的样本吗?你想让输出看起来像。你必须以一种可以让别人在他们本地机器上重现你的问题的方式提出你的问题。让我分享输入样本,我在这里根据De计算索引。你必须以一种可以让我复制和粘贴的方式分享它。你已经发布了一张图片。以下是制作可复制代码的技巧,我们可以帮助您了解。您需要键入表输入是什么,并键入希望表最终看起来是什么样子。我的错让我将其作为数据框架共享在这方面有什么帮助吗?我仍在努力
df=df = pd.DataFrame({'Index': ["re","re","re","re"],
'De': ['c', 'c','s','s'],'Hlled':['In','out','In','out'],'V':['In','out','In','out']})
import openpyxl as xl
import os
import pandas as pd
import glob
import csv
from openpyxl import load_workbook
import fnmatch
from openpyxl.utils.formulas import FORMULAE
import datetime
import sys
import pandas as pd
import numpy as np
for root, dirs, files in os.walk(".", topdown=False):
for filename in files:
if filename.endswith('.xlsx') and not filename.startswith(('index', 'M')):
book= load_workbook(filename,data_only=True)
Read_excel = pd.ExcelFile(filename)
table1=pd.pivot_table(df[(df["In"]=="In ")], values='index', index=['De'],
columns=['V'],aggfunc='count', fill_value=0,margins=True,margins_name = 'Sub-total')
table2=pd.pivot_table(df[(df["In"]=="In")], values='index', index=['De'],columns=['Hlled'],aggfunc=len, fill_value=0,margins=True,margins_name = 'Sub-total')
writer = pd.ExcelWriter(filename, engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
table1.to_excel(writer, 'po_r',startcol=1,startrow=7)
table2.to_excel(writer, 'po_r',startcol=6,startrow=7)
workheading = writer.sheets['epo_r']
workheading.cell(row=5, column=2).value = 'As'
workheading.cell(row=6, column=2).value = 'Iv'
workheading.cell(row=5, column=7).value = 'Aes'
workheading.cell(row=6, column=7).value = 'IPS'
##################epo calculation ########################
workheading.cell(row=1, column=1).value = 'Ecore'
workheading.cell(row=1, column=2).value ='=(0.5*B2)+(0.5*B3)'
workheading.cell(row=1, column=2).number_format = '00.00%'
workheading.cell(row=2, column=1).value = 'Are'
workheading.cell(row=2, column=2).value ='=C11/E11'
workheading.cell(row=2, column=2).number_format = '00.00%'
workheading.cell(row=3, column=1).value = 'Hi'
workheading.cell(row=3, column=2).value ='=H11/J11'
workheading.cell(row=3,column=2).number_format = '00.00%'
#print(worksheet)
writer.save()
print("done")