根据不同列中的值查找行号列表?

我正在一个项目中,我有一个xlsx的logging。 有些logging有多个实例。 喜欢这个:

Id, Field 1, Field 2, Field 3 ABC01, 0.034, 0.044, 0.050 ABC01, 0.055, 0.065, 0.060 ABC01, 0.047, 0.082, 0.070 DEF02, 0.034, 0.044, 0.050 DEF02, 0.055, 0.065, 0.060 XYZ05, 0.047, 0.082, 0.070 

我的目标是将字段3中具有最高值的每个实例的整行写入到一个新的xlsx中。 我也想要复制非复制的logging。

到目前为止,我已经使用了openpyxl来迭代第一列来创build一个值列表。 我为字段3创build了一个值列表。我创build了一个重复的ID值列表。 最后,如果我有一个行号列表,我知道如何将行写入一个新的woorkbook。

我需要的是如何获得字段3中具有最高值的ID的行号列表。

谢谢!

你可以考虑使用pandas 。 它支持Excel IO。

 import pandas as pd df = pd.read_excel("data.xlsx") indices = df.groupby('Id')["Field 3"].idxmax() deduped_df = df.ix[indices] deduped_df.to_excel("deduped_data.xlsx")