1
xlrd
を使用して、.xlsx
ファイルをJSON形式に解析しています。カンマとドットで問題が発生しました。Python XLRDでカンマをドットに置き換えます
私のExcelファイルに入力した値:152,203
。私はこの値を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' object has no attribute 'replace'
私も試してみました:
key3['Value'] = int(row_values3[36])
をしかし、これはまた、あなたがどのように152
JSONは浮動小数点数を 'x.y'にする必要があり、千個の区切り文字を数字で使用することはできません。どのように*表示*するかはロケールの問題です。これは、ユーザーがデータを見るどのようなUIでも処理する必要があります。 – jonrsharpe
私はそれを得るが、カンマを1つの値でドットに変更したいだけだ。これらは1つまたは2つのカンマでなければなりません。 –
Excelでロケールを設定する必要があるようですが、これはXLRDと実際には関係ありません。エラーメッセージが示すように、文字列ではなく浮動小数点数*を返します。 – jonrsharpe