如何使用openpyxl将现有的xlsx列复制到新列中

时间:2017-03-29 13:37:58

标签: python xlsx openpyxl

我有一个xlsx文件,我需要在openpyxl中添加1列。 你能帮帮我吗?

这样的事情:

wb = load_workbook('wb.xlsx')
ws = wb.active

wb2 = workbook()
ws2 = wb2.active

row = 0

while row < nrows:
        newVal = ws.cell_value(row, 2)
    ws2.write(row, 3, newVal)
    row = row + 1
write_book.save('wb_with_new_column') 

1 个答案:

答案 0 :(得分:0)

您似乎正在尝试将一列的内容复制到另一列。这可以很容易地完成如下:

import openpyxl

wb = openpyxl.load_workbook('file1.xlsx')
ws = wb.active

for src, dst in zip(ws['B:B'], ws['C:C']):
    dst.value = src.value

wb.save('file1.xlsx') 

openpyxl允许您iterate over cells。在这里,我们创建要迭代的单元格的源和目标范围。 zip()用于配对它们,然后只需要一个简单的值副本。