在Python XLRD中用点替换逗号

在Python XLRD中用点替换逗号,python,xlrd,Python,Xlrd,我正在使用xlrd将.xlsx文件解析为JSON格式。我遇到了逗号和点的问题 我在Excel文件中输入的值:152203。我想将其解析为一个值:152.203,但还没有运气。它将值保存为152,这是一个问题。在荷兰语中,逗号常被用作点,因此必须抓住这个错误 部分代码示例: key3 = OrderedDict() row_values3 = sheet.col_values(1, 0, 60) comma_to_dot = row_values3[36] # cell with 152,2

我正在使用
xlrd
.xlsx
文件解析为JSON格式。我遇到了逗号和点的问题

我在Excel文件中输入的值:
152203
。我想将其解析为一个值:
152.203
,但还没有运气。它将值保存为
152
,这是一个问题。在荷兰语中,逗号常被用作点,因此必须抓住这个错误

部分代码示例:

key3 = OrderedDict()
row_values3 =  sheet.col_values(1, 0, 60)

comma_to_dot = row_values3[36]  # cell with 152,203
key3['Value'] = comma_to_dot.replace(",",".")

data.append(key3)    

j = json.dumps(data)

with open(full_path, 'w') as datafile:
    datafile.write(j)

print(full_path)
此代码给出错误:
AttributeError:“float”对象没有属性“replace”

我也尝试过:

key3['Value'] = int(row_values3[36])

但这也会返回
152

如何知道它将值保存为152

在此之后:

comma_to_dot = row_values3[36]  # cell with 152,203
插入以下内容:

print(type(comma_to_dot), repr(comma_to_dot))
这将显示单元格中的确切值。将点解释为小数点。地点无关。请出示(复印/粘贴)打印的内容。
如果这不是您想要的,请告诉我们您想要什么。

JSON要求浮点数为
x.y
,并且不允许在数字中使用千个分隔符。如何显示这是一个区域设置问题,应该由用户看到数据的任何UI来处理。我明白了,但我只想在一个值中将逗号改为点。这些只能是一个或两个逗号。似乎您需要在Excel中设置区域设置,这与XLRD无关。正如错误消息告诉您的,您得到的是一个浮点数,而不是一个字符串。我无法在Excel中对此进行更改,因为此脚本处理用户上载的Excel文件。@JonTaylor注意到存储的数字显然是
152.203
(其中点是小数点,而不是千位分隔符),不是
152203
,因为Excel工作表使用的区域设置是
是小数点。