2017-10-08 3 views
0

現在のセルプロパティから既知の列の文字またはインデックスを持つ新しい空の列を挿入できるメソッドをopenpyxlで見つけることができません。たとえば、行のセルを検索してcell.columnの値が "E"のセルを見つけて、列Eの前に新しい列を挿入したい場合は、新しい列を挿入するための関数やメソッドが表示されませんopenpyxl内。これはまったく可能ですか、そうするための既知の作業方法はありますか?セルの座標を使用してopenpyxlに空白の列を挿入できません

更新: 私はInsert column using openpyxlからのテストコードを試しました。 以下の行で失敗します。 ファイル「Cを(座標)coordinate_from_string = column_letter、行に、 "/Users/me/Desktop/my.py C"、行30:私は、Python 2.7とopenpyxl 2.4.8

ファイルを使用している\ 'タプル' オブジェクトが属性 'アッパー'

を持っていない: 一致= COORD_RE.match(coord_string.upper()) はAttributeErrorをcoordinate_from_stringでPython27 \ libに\サイト - パッケージ\ openpyxl \ utilsの\ cell.py」、45行、
+0

私は、提供された回答済みリンクからテストコードを試して自分の投稿を更新しましたが、問題が発生しました。 –

答えて

0

ルーピングは値を右にシャッフルできますが、すでに知っています。私はあなたがそのようにコピーするための解釈上のオーバーヘッドに費やされるサイクルに満足していないと思う。次のようになります。

for src, dst in zip(ws['E:Y'], ws['F:Z']): 
    dst.value = src.value 

support for pandas dataframesがあります。ワークシートをdfに変換し、列を挿入した後、新しい.xlsxを吐き出すことを検討してください。

csv.writerで配列スライスを使用する方が簡単です。

調整式参照のスティッキーウィッケットには該当しません。

+0

私は試みましたが、エラーが発生しました "dst.value = src.value AttributeError: 'タプル'オブジェクトに属性 '値'がありません" .. srcとdstを見れば、私はちょうどテストしていたセルのタプル'C:E'のsrcと 'D:F'のdstを持つテストスプレッドシート –

+0

その周りに外側のループをラップする必要があるかもしれません。 Zip(ws ['Z:Z']、ws ['Y:Y']) '、次の繰り返し:' zip(ws ['Y:Y']、ws ['X:X']] ) 'など、' E:E'までです。 –

関連する問題