比较openpyxl中的多个单元格

Compare multiple cells in openpyxl

我需要在openpyxl中对多个单元格进行比较,但我没有成功。更准确地说,我将一个 .xlsx 文件导入到 python 脚本中,该文件包含 4 列和大约 70,000 行。前 3 列相同的行必须合并并添加第四列中出现的数字。

例如

第 1 行 .. material 的类型:A |地点:纽约 |销售月份:一月 |费用:100

..

第 239 行 material 的类型:A |地点:纽约 |销售月份:一月 |费用:150

..

第 1020 行 material 的类型:A |地点:纽约 |销售月份:一月 |费用:80

..

等等

假设只存在这样的匹配项,必须生成新数据 table(例如在数据 sheet 中),其中只有一行以这种方式出现:

material的类型:A |地点:纽约 |销售月份:一月 |成本:330(成本总和)

依此类推,将.xlsx文件中的所有数据合并得到一个新的table.

我希望解释清楚,但如果不是,我可以在必要时更加精确。

正如我在开头提到的,到目前为止我还没有成功,所以我将不胜感激!

非常感谢

而不是通过 openpyxl 阅读它,我会使用 pandas

import pandas as pd

raw_data = pd.read_excel(filename, header=0)
summary = raw_data.groupby(['Type of material', 'Location', 'Month of sale'])['Cost'].sum()

如果这引发了一些 KeyError,您将需要修复标签