問題タブ [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 投票する
3 に答える
13727 参照

python - Python(openpyxl)を使用してExcelからグリッド線を削除する

openpyxl を使用して作成した Excel ワークシートからグリッド線を削除しようとしていますが、機能していません。私はこれをやっています:

そのコードは「False」を出力しますが、保存されたファイルにはグリッド線が表示されます。

0 投票する
8 に答える
21164 参照

python - Python で Excel (.xlsx) からハイパーリンクを抽出する

私は主に、Excel ファイル操作用の xlrd および openpyxl ライブラリを見てきました。ただし、現在 xlrd はformatting_info=True.xlsx ファイルをサポートしていないため、xlrdhyperlink_map関数を使用できません。だから私はopenpyxlに目を向けましたが、それを使ってExcelファイルからハイパーリンクを抽出することもできませんでした. 以下のテスト コード (テスト ファイルには、ハイパーリンク テキストが "test" に設定された google への単純なハイパーリンクが含まれています):

出力:

openpyxl は現在、フォーマットも完全にサポートしていないと思いますか? Excel (.xlsx) ファイルからハイパーリンク情報を抽出するために使用できる他のライブラリはありますか?

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

python - openpyxl行イテレータはrow_offset引数を無視しますか?

大量の価値のないデータをふるいにかけようとしていますが、ユーザーが自分でオフセットを設定できるようにしたいと考えています。コードは最終的に次のようになります。

ただし、 を呼び出すnext(master_rows)[0]と、出力は次のようになります。

基本的に、オフセットは完全に無視されているようで、常に 0 から始まります。

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

python - openpyxl を使用して timedate として読み取られる浮動数値

1.2、1.07、2.3 などの小さな %f.2 値を含むフィールドを持つ Excel スプレッドシートがあり、何らかの理由で openpyxl がこれらのセルを 1900 年の日付として読み取っています。この問題が提起されているのを何度も見てきましたが、通常、これらのユーザーは日付を期待していて、偽の日付を取得しています. 通常は x<10.0 の値を期待していますが、約 30 ~ 40% の「悪い」データ (timedate として読み取られる) が得られますが、それ以外の場合は数値として読み取られます。

私は反復子を使用しているので、単純な ws.iter_rows() 呼び出しを実行して、一度に 1 行ずつデータを取得します。これを、以前に作成した数値を含む変数に「キャスト」しようとしましたが、あまり効果がありません。

この散発的な問題を克服する方法について誰か提案がありますか。これが既知のバグである場合、既知の回避策はありますか?

ファイルをcsvとして保存し、csvとして再度開き、xlsxとして再保存すると、正しく読み取ることができるファイルになります。これはコードのデバッグに役立ちますが、顧客がこれらの面倒な作業をせずに使用できるソリューションが必要です。

列が正しくフォーマットされていないと、すべての要素に適用されると思うので、これが断続的に発生すると混乱します。

Excelテーブルから見た私の入力は次のとおりです

これが私の出力です。最初の 7 行は 2 番目のフィールドが 1900 年の日付であることを示していますが、8 行目から 13 行目はフィールドを数値フィールドとして正しく示しています。

Python 3.3 と openpyxl 1.6.2 を使用

0 投票する
12 に答える
87067 参照

python - Python で openpyxl を使用して Excel スプレッドシートに行を挿入する

openpyxl を使用してスプレッドシートに行を挿入するための最良の方法を探しています。

事実上、ヘッダー行があり、その後に (最大で) 数千行のデータが続くスプレッドシート (Excel 2007) があります。行を実際のデータの最初の行として挿入しようとしているので、ヘッダーの後に挿入します。私の理解では、append 関数はファイルの末尾にコンテンツを追加するのに適しています。

openpyxl と xlrd (および xlwt) の両方のドキュメントを読むと、コンテンツを手動でループして新しいシートに挿入する以外に、これを行う明確な方法が見つかりません (必要な行を挿入した後)。

これまでのところ Python での経験が限られているため、これが本当に最良の選択肢であるかどうか (最も Pythonic!) を理解しようとしています。具体的には、openpyxl で行を読み書きできますか、それともセルにアクセスする必要がありますか? さらに、同じファイル (名前) を (上書き) できますか?