Python,如何为重复的excel单元格值添加增量后缀

时间:2016-10-17 04:04:22

标签: python-3.x openpyxl

我是Python新手。需要帮助更新excel单元格值。在excel电子表格中尝试添加具有重复值或值的增量后缀不止一次。

使用OpenPyxl,尝试如下所示,但它没有按预期工作......实际上我的目标是在单元格值存在多次时为单元格值添加增量后缀。

我的示例代码:

for cell in ws.columns[0]:
    if cell.value=='setoff':
        for i in range(0,2):
           cell.value = '{}_{}'.format(cell.value, i)
wb.save('OP_1.xlsx')

我的代码没有区分重复项,而是作为重复项添加。

请指导。

实际电子表格值:

Actual Spreadsheet values 预期的更新/修改:

Expected Modifications

1 个答案:

答案 0 :(得分:0)

您的代码需要计算已经看到单元格值的频率,以便附加正确的后缀。这是一个使用Python内置Counter类:

的解决方案
from collections import Counter

c = Counter()
for cell in ws.columns[0]:
    if c[cell.value]>0:
        cell.value = '{}_{}'.format(cell.value, c[cell.value])
    c[cell.value]+=1
wb.save('OP_1.xlsx')