問題タブ [openpyxl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2279 参照

python - 抽出された XLSX ファイルを OpenPyXL で読み取る

だから私は Python 3.2 と OpenPyXL の反復可能なワークブックを使用してきまし

この戦略を使用して、単純な .zip アーカイブから抽出したファイル (手動と python zipfile パッケージの両方) を読み取ろうとすると、問題が発生します。呼び出す.get_highest_column()と「A」.get_highest_row()が返され、1 が返され、次に示すように各セルの値を出力するように求められると、次のようになります。

ファイルの実際の大きさに関係なく、A1、A2、A3、A4、A5、A6、および A7 の値を出力します。ファイル自体にこれの理由はなく、Excel で問題なく開くことができます。なぜこのようにするのかについては非常に困惑していますが、解凍された XLSX は Excel 内から保存される前に異なる形式でフォーマットされていると想定しており、OpenPyXL はそれを正しく解釈できません。ファイルを調べて違いを調べることができるように、「.xlsx」の名前を「.zip」に変更しましたが、Excelから保存したものには「xls」内に「theme」というサブフォルダーもあるということ以外はあまりわかりませんでした" フォルダは、以前のバージョンにはありませんでした。フォントと書式データが含まれています。

重要な注意: それを開いて Excel 内から同じファイル名で再保存し、このコードを実行すると、完全に機能します - 正しい最大の行と列の値を返し、すべてのセルの値を正しく出力します。代わりに、ワークブックを開いた直後に OpenPyXL で保存しようとしましたが、これは同じ誤った結果をもたらします。

基本的に、 OpenPyXL で読み取れるように、 .zipファイルから.xlsxファイルを適切に抽出する方法を見つける必要があります。このように処理する必要があるファイルは多数あるため、Excel の外部にある必要があり、できればできるだけ効率的であることが望まれます。

乾杯!

0 投票する
1 に答える
402 参照

python - openpyxl をインストールするためのダウンロードが見つからない

Web ページのデータを保存するために Excel を処理する必要があるという要件がありますが、Python 2.7 で動作するダウンロード可能なパッケージが見つかりません。

openpyxl

この点で何か助けはありますか?

0 投票する
2 に答える
14034 参照

python - Pythonを使用してExcelシートの行を別のシートにコピーする方法

各行の特定の列の値を別の値と比較したいのですが、値が等しい場合は、行全体を別のスプレッドシートにコピーしたいと思います。

Pythonを使用してこれを行うにはどうすればよいですか?

ありがとう!

0 投票する
3 に答える
108895 参照

python - DataFrames のリストをマルチシート Excel スプレッドシートに保存する

DataFrame のリストを 1 つの Excel スプレッドシートにエクスポートするにはどうすればよいですか?
状態のドキュメントto_excel:


既存の ExcelWriter オブジェクトを渡す場合、シートは既存のワークブックに追加されます。これは、異なる DataFrame を 1 つのワークブックに保存するために使用できます。

writer = ExcelWriter('output.xlsx')
df1.to_excel(writer, 'sheet1')
df2.to_excel(writer, 'sheet2')
writer.save()

これに続いて、次のように DataFrame のリストを 1 つのスプレッドシートに保存する関数を記述できると考えました。

ただし(それぞれが個別に保存できる2つの小さなデータフレームのリストがあるto_excel場合)、例外が発生します(編集:トレースバックが削除されました)

おそらく私はExcelWriter正しく呼び出していません。これを行うにはどうすればよいですか?

0 投票する
1 に答える
1030 参照

python - csv からデータをコピーして Python で「xlsx」を作成する際の問題

Pythonを使用してcsvのすべてのデータをExcelの「xlsx」ファイルにコピーしようとしています。これを行うために次のコードを使用しています。

SO自体でこのコードを見つけて、私のケースで使用できるように変更しました。しかし、このコードは行UnicodeDecodeError: 'ascii' codec can't decode byte 0xa3 in position 0: ordinal not in range(128)のエラーをスローしていますws.cell(row=index,column=i).value = row[i]

この問題を解決するために私を助けてください。

更新:問題を解決するために次のコードも使用しようとしましたが、次UnicodeDecodeの行で再びエラーが発生しましws.cell(row=rowx,column=colx).value = row[colx]た:

更新 2 :xlwtモジュールを使用して csv を xls にコピーしようとしましたが (xlxs はサポートされていないため)、再びUnicodeDecodeエラーが発生しました。使用したコードは次のとおりです。

0 投票する
2 に答える
37076 参照

python - Excelスプレッドシートのいくつかの条件を満たす行を削除するにはどうすればよいですか?

Excel(xlsx)スプレッドシートの「縮小」バージョンを作成したいのですが(つまり、何らかの基準に従っていくつかの行を削除することによって)、これがで実行できるかどうかを知りたいのopenpyxlです。

(pythonish)擬似コードでは、私がやりたいことは次のようになります。

このようなことはopenpyxl、で行うことができますか?もしそうなら、どのように?

0 投票する
3 に答える
4101 参照

python - ローカル画像へのハイパーリンクをopenpyxlのセルに書き込む方法は?

私はPython 2.7.3を使用しています.openpyxlライブラリによってローカル画像へのハイパーリンクをセルに書き込む必要があります.

Web サイトにハイパーリンクを追加する必要がある場合は、次のように記述します。

openpyxlインポートワークブックから

3 つの質問があります。

  1. VBA のスタイル関数のようなハイパーリンクを記述する方法: ハイパーリンク ActiveCell.FormulaR1C1 = _ "=HYPERLINK(""http://stackoverflow.com/questions/ask"",""site"")" と彼女の名前を使用
  2. ローカル画像へのハイパーリンクを書き込むにはどうすればよいですか? ws.cell('B2').hyperlink = ('1.png') # It doesn't work! And I don't now what to do ) Plese, help me )
  3. Unicode ハイパーリンクを画像に使用できますか? たとえば、私が使用するとき ws.cell('B1').hyperlink = (u'http://pythonhosted.org/openpyxl/api.html') It fail with error! for example we have picture 'russian_language_name.png' and we create hyperlink in exel without any problem. We click to the cell, and then print '=Hyperlink("http://stackoverflow.com/questions/ask";"site_by_russian_language")

ドキュメントを保存し、解凍します。次に、彼のディレクトリにある xl->worksheets->sheet1.xml に移動すると、タイトルが表示されます

<?xml version="1.0" encoding="UTF-8" standalone="true"?>

その後 ...

row r="2" x14ac:dyDescent="0.25" spans="2:6">-<c r="B2" t="str" s="1"><f>HYPERLINK("http://stackoverflow.com/questions/ask","site_by_russian_language")</f><v>site_by_russian_language</v></c>

すべてOK =) ExelはUnicodeをサポートしていますが、Pythonのライブラリopenpyxlはどうですか? ハイパーリンクでユニコードをサポートしていますか?

0 投票する
3 に答える
36382 参照

python - Excel列にリストを書き込む方法は?

Pythonにいくつかの値のリストがあり、openpyxlを使用してそれらをExcel-スプレッドシート列に書き込みたいと思います。

これまでに試しlstStatましたが、Excelの列に書き込む必要のある整数のリストは次のとおりです。

TypeError: 'NoneType' object is not callableコードスニペットの最後の行のを取得しています。

データをExcel列に書き込む方法を教えてください。

0 投票する
2 に答える
4726 参照

python - Excel 2007 への Unicode 文字列の書き込み

を使用して MS SQL サーバーに接続していますpyodbc.xlsxさらに、を使用して Excel 2007/10 ファイルに書き込もうとしていますopenpyxl

これは私のコードです(Python 2.7):

これ、少なくとも、たとえば名前の顧客に遭遇するまでは機能します"mún"。私のコードは失敗しません。すべてが Excel に書き込まれ、すべて問題ありません。それは実際に Excel ファイルを開くまでです。これにより、ファイルが破損しているため修復が必要であるというエラーが発生します。ファイルを修復すると、すべてのデータが失われます。

コードが通常の名前 (ASCII のみ) の顧客に対して機能することはわかっています。アクセント付きの文字などがあるとすぐに、Excel ファイルが破損します。

単一の行を印刷しようとしました (難しいカスタム名で)。結果は次のとおりです。

rowはタプルで、これはインデックスの 1 つです。'Mee\xf9s Tilburg'したがって、文字を書き込むと\xf9 (ú)エラーが発生するか、MS Excel が処理できません。行をユニコード(unicode(row,'utf-8')またはu''.join(row))などにエンコードするさまざまな方法を試しましたが、何も機能しません。何かばかげたことを試みてエラーが発生するか、Excel ファイルでまだエラーが発生します。

何か案は?