Python Openpyxl 2.4.1 can';设置新的数字格式后,不要在Excel中删除绿色箭头

Python Openpyxl 2.4.1 can';设置新的数字格式后,不要在Excel中删除绿色箭头,python,excel,openpyxl,Python,Excel,Openpyxl,我正在尝试去除Excel中代表以下内容的绿色箭头: '此单元格中的数字格式为文本或前面有撇号。' 使用OpenPYXL2.4.1和Python 3.5.2 目前,函数看起来是这样的(不过我尝试了许多不同的版本): 在此之后,excel中确实存在数字格式的单元格 但是绿色箭头仍然存在,并且值的格式不是数字-不能在公式中使用 任何解决方案?看起来单元格包含字符串,在这种情况下,数字格式无关紧要。绿色箭头出现是因为Excel认为字符串应该转换为数字。为了避免这种情况,您应该自己处理转换:cena=f

我正在尝试去除Excel中代表以下内容的绿色箭头: '此单元格中的数字格式为文本或前面有撇号。'

使用OpenPYXL2.4.1和Python 3.5.2

目前,函数看起来是这样的(不过我尝试了许多不同的版本):

在此之后,excel中确实存在数字格式的单元格

但是绿色箭头仍然存在,并且值的格式不是数字-不能在公式中使用


任何解决方案?

看起来单元格包含字符串,在这种情况下,数字格式无关紧要。绿色箭头出现是因为Excel认为字符串应该转换为数字。为了避免这种情况,您应该自己处理转换:
cena=float(cena)

这是我的第一个想法,但问题是出于excel的目的,我想用逗号替换点。当我将它转换为float时,我得到:ValueError:无法将字符串转换为float:'9983,1'显然,您仍然需要首先转换该字符串。虽然我认为你也可以使用
locale
模块。有人帮我找到了另一个完全不同的解决方案,但时间相当长。幸运的是,我注意到最简单的解决方案是添加如下新变量:cena_nowa=float(cena),现在它按预期工作。这正是我建议的。无论什么
def price():
    cena = input("Cena: ")
    cena = cena.replace('.', ',')
    cell = 'D' + str(row)
    arkusz1.active[cell].number_format = '0.00'
    arkusz1.active[cell] = cena
    print("Wprowadzono Cenę. \n")