如何使用openpyxl在python中写入新的单元格

我写了代码打开一个excel文件,遍历每一行,并将值传递给另一个函数。

import openpyxl wb = load_workbook(filename='C:\Users\xxxxx') for ws in wb.worksheets: for row in ws.rows: print row x1=ucr(row[0].value) row[1].value=x1 # i am having error at this point 

当我尝试运行该文件时出现以下错误。

 TypeError: IndexError: tuple index out of range 

我可以将返回值x1写入row[1]列吗? 是否有可能写入Excel(即使用row[1] ),而不是访问单个单元格,如ws.['c1']=x1

尝试这个:

 import openpyxl wb = load_workbook(filename='xxxx.xlsx') ws = wb.worksheets[0] ws['A1'] = 1 ws.cell(row=2, column=2).value = 2 ws.cell(coordinate="C3").value = 3 # 'coordinate=' is optional here 

这将分别将单元格A1,B2和C3设置为1,2和3(在工作表中设置单元格值的三种不同方式)。

第二种方法(指定行和列)对于您的情况最为有用:

 import openpyxl wb = load_workbook(filename='xxxxx.xlsx') for ws in wb.worksheets: for index, row in enumerate(ws.rows, start=1): print row x1 = ucr(row[0].value) ws.cell(row=index, column=2).value = x1