Python openpyxl 模块说:AttributeError: 'tuple' 对象没有属性 'upper'

Wol*_*ner 1 python tuples export-to-excel attributeerror openpyxl

安装了 Python 3.4 和模块jdcal以及openpyxl

尝试在openpyxl库上从 Python 读取和写入 XLSX 文件。我安装了jdcall模块和openpyxl模块。代码让我创建工作簿和工作表:

from openpyxl import Workbook
wb  = Workbook()
ws  = wb.active
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试像这样写入第一个单元格:

ws[ 1, 1]   = 'testing 1-2-3'
Run Code Online (Sandbox Code Playgroud)

Python 说:

C:\Wolf\Python Studies>database.py
Traceback (most recent call last):
 File "C:\Wolf\Python Studies\database.py", line 13, in <module>
   ws[ 1, 1]   = 'testing 1-2-3'
 File "C:\Python34\lib\site-packages\openpyxl-2.2.0b1-py3.4.egg\openpyxl\worksheet\worksheet.py", line 403, in __setitem__
   self[key].value = value
 File "C:\Python34\lib\site-packages\openpyxl-2.2.0b1-py3.4.egg\openpyxl\worksheet\worksheet.py", line 400, in __getitem__ <BR>
   return self._get_cell(key)
 File "C:\Python34\lib\site-packages\openpyxl-2.2.0b1-py3.4.egg\openpyxl\worksheet\worksheet.py", line 368, in _get_cell
   coordinate = coordinate.upper()
AttributeError: 'tuple' object has no attribute 'upper'

C:\Wolf\Python Studies>
Run Code Online (Sandbox Code Playgroud)

知道我做错了什么吗?

ale*_*cxe 6

单元格坐标应作为字符串提供:

ws['A1'] = 'testing 1-2-3'
Run Code Online (Sandbox Code Playgroud)

或者,如果要使用行和列索引,请使用ws.cell().value

ws.cell(row=1, column=1).value = 'testing 1-2-3'
Run Code Online (Sandbox Code Playgroud)