我正在处理python脚本中的excel并得到以下错误:
Traceback (most recent call last):
File "script_consolidateExcels_v3.py", line 134, in <module>
colNum = findColOfCell(ws, "xxx", 1)
File "script_consolidateExcels_v3.py", line 28, in findColOfCell
if worksheet.cell(row=inRow, column=k).value == val:
AttributeError: 'MergedCell' object has no attribute 'value'
Excel文件最初具有合并的单元格,但是我使用Microsoft Excel取消了所有合并,但是仍然弹出此错误。我什至尝试了ws.unmerge_cells(),但没有帮助。 (非常奇怪,起初我在Windows笔记本电脑上编写并运行了脚本,但没有弹出此错误...我将该脚本发送到了Mac,现在我收到了此错误...(我无法访问Windows笔记本电脑))
这是有问题的部分:
def findColOfCell(worksheet, val, inRow, startCol=1):
i = 0
k = startCol
while i == 0:
if worksheet.cell(row=inRow, column=k).value == val:
i = 1
# here = ord(worksheet.cell(row=inRow, column=k).column)-64 # convert column letter to number
here = worksheet.cell(row=inRow, column=k).column
else: k += 1
return here
答案 0 :(得分:0)
如果要合并3个单元格,请说(1,1)(1,2)和(1,3)
sheet.merge_cells(start_row=1, start_column=1, end_row=1, end_column=3)
在这种情况下,单元格(1,2)和(1,3)将不再具有属性“值”。
您只能将值分配给(1,1),因为单元格(1,2)和(1,3)不再存在。
希望这会有所帮助。