2

xlwtライブラリを使用してPythonリストをExcelファイルに書き込もうとしています。

import xlwt
from tempfile import TemporaryFile
book = xlwt.Workbook()
sheet1 = book.add_sheet('sheet1')
for i in range(len(newdata)):
    for j in range(len(newdata[i])):
        sheet1.write(i,j,newdata[i][j])
name = "my_file.xls"
book.save(name)
book.save(TemporaryFile())

一般的な変数タイプ (int、float、string など) で機能しますが、複素数を Excel ファイルに書き込もうとすると、次のエラーが発生します。

Exception: Unexpected data type <type 'complex'>

私が理解しているようにwrite、複素数はサポートされていません。複雑な値をExcelに書き込む方法を知っている人はいますか?! PSデータをCSVファイルに書き込みたくありません。.xls ファイルである必要があります。

4

1 に答える 1

2

sheet1.write(i,j,str(newdata[i][j])) を使用して、複素数を文字列に変換できます。これにより、トレースバックから抜け出すことができます。

于 2013-10-01T06:59:13.317 に答える