100万行以上と数十列を含むXLSXファイルを作成するためのライブラリを探しています。これまでのところ、Pythonで見つけたすべてのライブラリはメモリを消費しすぎており、Cでラップするのに適したライブラリは見つかりませんでした。必要に応じてコードを変更できるようにオープンソースを使用したいと思います。
編集:私は解決策を見つけました。openpyxlには「最適化されたライター」があります:http://packages.python.org/openpyxl/optimized.html
ElementTreeを試しましたか?それがあまりにも多くのメモリを使用する場合は、SAXを使用して、一度に1行だけ処理してください。XML解析-ElementTreeとSAXおよびDOM
XLSX 形式は、圧縮された多数の XML ファイルで構成されています。出力の形式が変更されない場合は、既存のファイルをテンプレートとして使用し、必要に応じて単純に行を追加するのは簡単です。残念ながらZipFile.writestr
、ファイルを分割して書き込むことはできないため、XML 全体を一時ファイルに書き込んでから、それを .zip を使用して zip に配置する必要がありますZipFile.write
。