2

float を CSV に書き込むと、いくつかは次のように書き込まれます: 2.0628800997782577e-05

c = csv.writer(open(file, "wb"))
c.writerow([var1, var2])    

私が試したこと:

  • StackOverflow の他の回答に従って var1**8 を既に試しましたが、これは単純に 8 の累乗にします。
  • Decimal(var1) も試しましたが、これは科学表記法を抑制しません。

これにより、数値ではなくテキストとして認識されるため、後で Excel で出力を処理することが難しくなります。非科学的な 10 進数表記で出力するにはどうすればよいですか?

4

2 に答える 2

5
'%f' % your_var

または、精度を制御するには:

'%0.10f' % your_var
于 2012-07-23T00:52:39.000 に答える
4

文字列フォーマットを使用します:

c.writerow(['{:f}'.format(var) for var in (var1, var2)]
于 2012-07-23T00:52:56.503 に答える