我有一个正在解析的xlsx openpyxl
。在
A列是产品名称,B列是revenue,我想将每对产品收入值提取到A dict
。若并没有重复的产品,只需通过适当地映射ws.columns
来创建dict。在
问题是,有些(但不是所有)产品都有多个条目。对于这些,我需要求和这些值的总和,然后返回这些产品的一个键(对于其他产品)。因此,如果我的收入电子表格包含以下内容:
{1美元^
在返回dict之前,我希望将香蕉的收入值相加。然后期望的结果是:
{'Banana': 7.2, 'Apple': 1.7, 'Pear': 6.2, 'Kiwi': 1.2}
如果没有重复项,则以下操作正常:
^{pr2}$但很明显,当它遇到重复时就会崩溃。我可以尝试使用MultiDict(),它将给出一个结构,我可以从中执行加法并创建最后的dict
:
这就给我留下了一个MultiDict
,它本身实际上是一个元组的列表,所有这些都变得有点复杂。有没有一种更简洁或标准的库方法来实现同一个键的多次数据结构?雇佣zip()
怎么样?不一定要像口述一样。我只需要能够从中创建一个dict
(然后执行加法)。在
假设第二列的
length
比第一列少;可以简单地按第一列中的值对行进行分组,然后将其余的行相加,如下所示:collections.defaultdict
是为这种类型的用例而设计的。在假设您可以将数据转换为键值元组的列表,这应该与您想要的结果接近:
相关问题 更多 >
编程相关推荐