2016-07-11 4 views
1

それは明確に、本質的にパンダネイティブ輸出とxlwingsxlwingsと複数のインデックスデータフレームを持つpandasネイティブエクスポート:どのように調整するのですか?

enter image description here

でmultindexesをエクスポートに問題があることを説明し、私はマルチインデックスが正しくエクスポート[「Pandasネイティブ」の結果が欲しいために、私はイメージから始めましょうXlwingsで完了しましたXlWingsができる他の機能がたくさんあるので他のものは使用できません(ExcelWriterなどを使用しても、シートをクリアする必要があり、非シートのものを同じシートに挿入しているので初期化時にクリアされる)

使用コード:

import pandas as pd 
import numpy as np 
import xlwings as xw 
import os 

arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'], 
      ['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']] 

tuples = list(zip(*arrays)) 
index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second']) 
s = pd.DataFrame(np.random.randn(8, 8), index=index).transpose() 
print(s) 

# EXPORT 

filename = 'format_excel_export.xlsx' 
s.to_excel(filename) 

outpath = os.path.join(os.path.abspath(os.path.dirname(__file__)), filename) 
os.path.sep = r'/' 
wb = xw.Workbook(outpath) 

xw.Range('Sheet1', 'A13').value = s 

答えて

2

あなたはそれパンダは、hereを見ない方法フォーマットカスタムコンバータを実装することができます。

ただし、v0.7.2以降、xlwingsはまだ、フォントのボールド、セルとセルの境界のマージをネイティブにサポートしていません。これを回避するには、pywin32(Windowsの場合)に戻ります(hereを参照)。

本質的に、カスタムコンバータはwrite_valueメソッドをオーバーライドする必要があります。hereを参照してください。

ある時点でこれをライブラリに組み込むことは意味があるため、問題が発生しました。hereを参照してください。

関連する問題