2015-09-17 31 views
8

xlsxwriterで通貨の値に必要な通貨記号を書き込めません。xlsxwriterで書き込むときに通貨記号を設定します。

私はチュートリアルhereに従っており、正しいフォーマットとドル記号で通貨値を書き出すことができます(これはチュートリアルやExcelのデフォルト設定ではわかりません)。

これは動作します:

money = workbook.add_format({'num_format':'$#,##0.00'}) 

そして、それはドル記号と通貨値を出力します。

$1,000.00 

しかし、私は私自身の通貨を挿入しようとした場合、のはRを言わせて:

money = workbook.add_format({'num_format':'R#,##0.00'}) 

私はこの取得:私はxlsxwriterを使用して通貨記号を設定するにはどうすればよい

R1000 

を?

+0

「R」を削除するとどうなりますか? 「1000」または「1,000.00」? Rの後ろにスペースを入れたり、Rの後にスペースを置いたりするとどうなりますか? –

+0

「1,000.00」、「1000」、「1000」である。 – Niel

+0

はい、 'R'と書式設定が消えます。 – Niel

答えて

5

てみてください:

num_format('"R" #,##0.00') 

の約半分の方法ダウンThe Format Class参照するかcentsを検索します。

+1

うわー、魅力のように働いて、ありがとう。 – Niel

2

は、次のようなものを試してみてください:

import xlsxwriter 

workbook = xlsxwriter.Workbook('money_format.xlsx') 
worksheet = workbook.add_worksheet() 

money_format = workbook.add_format({'num_format': '[$R]#,##0.00'}) 

worksheet.write('A1', 1234.56, money_format) 

workbook.close() 

必要な番号の形式を決定するための最良の方法は、Excelでセルの書式を設定し、それを編集し、カスタム形式が何であるかを見ることです。

肯定値と否定値が異なる方法で処理される場合は、[$R-431]#,##0.00のようなものか、かなり複雑なものがあります。

+0

あなたの答えをありがとう、私は負の値でそれをテストしていない、私は一見するでしょう。 – Niel

+0

431はロケールコードのようです。 – pnuts

+0

はい、ロケールコードです。そのため、Excelから直接正しい書式文字列を取得することをおすすめします。 – jmcnamara

関連する問題