Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用openpyxl在python中写入新单元格_Python_Excel_Openpyxl - Fatal编程技术网

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

如何使用openpyxl在python中写入新单元格,python,excel,openpyxl,Python,Excel,Openpyxl,我编写的代码打开一个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 po

我编写的代码打开一个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
写入
行[1]
列吗。是否可以写入excel(即使用
行[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

有150行,很难访问每个单元格并写入数据。像ws['a1']=x1,ws['a2']=''。我希望有一个通用的解决方案。感谢您的帮助,所以请使用我提供的第二个表单:ws.cell(row=X,column=Y)。value=VI已更新我的答案,以包括您在特定情况下如何使用该方法。请注意,除非保存该文件,否则更改不会反映在Excel文件中<代码>wb.save(文件名)您的代码没有反映您所说的要执行的操作。