python - 在 Python 中读取 Excel 文件透视

标签 python excel pivot pivot-table

我想从 Excel 文件中检索数据。

以下是数据: enter image description here

这是我想要的结果: enter image description here

这是我开始编写的代码:

from openpyxl import load_workbook
wb = load_workbook('C:\\Fichiers_Excel\\Team.xlsx')
m = wb.active
# Retrieve the value of a certain cell
team_1_captain=m['A2'].value,m['B2'].value,m['D2'].value,m['E2'].value
team_1_player=m['A6'].value,m['B6'].value,m['D6'].value,m['E6'].value
team_1= m['A2'].value,m['B2'].value,m['D2'].value,m['E2'].value,m['B6'].value,m['D6'].value,m['E6'].value
print (team_1)

最佳答案

使用pandas ,您可以操作数据,将团队作为行,将 captainplayer 作为列,然后加入日期值:

import pandas as pd

df = pd.read_excel("<path to your file>.xlsx")

teams = df.set_index(["Team", "Status"])["Name"].unstack()

cols = ["Monday", "Tuesday"]
days = []
for i in ["player", "captain"]:
    days.append(df[df["Status"] == i].groupby("Team")[cols].first().rename(columns={col: "{}_{}".format(i, col) for col in cols}))

days = pd.concat(days, axis=1)

result = teams.join(days)
result[["captain", "captain_Monday", "captain_Tuesday", "player", "player_Monday", "player_Tuesday"]]

关于python - 在 Python 中读取 Excel 文件透视,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51749448/

相关文章:

mysql - 如何在MySQL中使用group by和pivot?

python - 从html中提取信息

python - 如何在 IPython Notebook 中嵌入数据?

python - 将 neo4j 查询结果加载到 python 的 `igraph` 图中

c# - Microsoft.Office.Interop.Excel.WorksheetFunction 不包含 excel 中的所有函数

sql 查询将现有列条目转换为行标题

python - Peewee 和数据库继承

java - 使用 Java 程序从 Excel 文件中获取第 X 列

excel - 在后台静默 ping

r - 如何根据另一列的另一个值在一列中收集数据