問題タブ [xlrd]

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 投票する
5 に答える
13569 参照

python - xlrd を使用して Excel ファイルを Python に読み込むにはどうすればよいですか? 新しい Office 形式を読み取ることはできますか?

私の問題は以下のとおりですが、xlrd の経験がある方からのコメントに興味があります。

xlrd を見つけたところ、完璧なソリューションのように見えますが、開始するのに少し問題があります。Dow Jones Industrial Average (リンク: http://www.djindexes.com/mdsidx/?event=showAverages )の現在のコンポーネントを使用して、Dow Jones から取得した Excel ファイルからプログラムでデータを抽出しようとしています。

ファイルを変更せずに開くと、厄介なBIFFエラーが発生します(バイナリ形式が認識されません)

ただし、このスクリーンショットでは、Excel 2008 for Mac が「Excel 1997-2004」形式であると認識していることがわかります (スクリーンショット: http://skitch.com/alok/ssa3/componentreport-dji.xls-properties ) 。

代わりに Excel で手動で開き、「Excel 1997-2004」形式で明示的に保存してから、xlrd を使用して python で開くと、すべてが素晴らしいものになります。Office は、ファイルが既に 'Excel 1997-2004' 形式であると認識していることに注意してください。すべてのファイルは .xls です

これは、問題を再現する ipython セッションのペーストビンです: http://pastie.textmate.org/private/jbawdtrvlrruh88mzueqdq

についての考え: データを抽出できるように、xlrd をだましてファイルを認識させるにはどうすればよいですか? Python を使用して、明示的な「名前を付けて保存」形式を xlrd が受け入れる形式に自動化する方法は? 次の手段?

0 投票する
4 に答える
7829 参照

python - pyExceleratorまたはxlrd - 指定された少数の列データの行を検索/検索する方法は?

Python は EXCEL と通信しています...特定の列データの行を検索/検索できるようにする方法を見つける必要があります。今、行全体を 1 つずつスキャンしています... FIND/SEARCH/REPLACE のような関数があれば便利です.... pyExcelerator または xlrd モジュールでこれらの機能が表示されません.. win32com を使用したくありませんモジュール!それは私のツールウィンドウをベースにします!

Python を介して Excel の行を検索/検索する....何かアイデアはありますか?

0 投票する
4 に答える
26027 参照

python - CSVファイルのUnicodeからUTF8-xlrd経由のPython

Python xlrdおよびcsvモジュールを使用してExcelスプレッドシートをCSVに変換しようとしていますが、エンコードの問題でハングアップしています。XlrdはExcelからUnicodeで出力を生成し、CSVモジュールにはUTF-8が必要です。

これはxlrdモジュールとは何の関係もないことをイメージしています。stdoutまたは特定のエンコーディングを必要としない他の出力への出力はすべて正常に機能します。

ワークシートは、に従ってUTF-16-LEとしてエンコードされます。book.encoding

私がしていることの簡略化されたバージョンは次のとおりです。

これにより、次のエラーが発生します。約740行です。

値がハングアップしているようですが「516-777316」です。元のExcelシートのテキストは「516-7773167」です(末尾に7が付いています)。

私は文字エンコードがどのように機能するかについて漠然とした感覚しか持っていないことを最初に認めます。したがって、これまでに試したことのほとんど.encode.decodes.cell_value(row,col)

誰かが解決策を提案できれば、私はそれをいただければ幸いです-何が機能していないのか、そしてその理由を説明していただければ、将来これらの問題を自分でより簡単にデバッグできるようになります。

前もって感謝します!

編集:

これまでのコメントありがとうございます。

ユーザーthis_row.append(s.cell(row,col))(s.cell_valueではなくegscell)を使用すると、ドキュメント全体がエラーなしで書き込まれます。

出力は特に望ましいものではありませんが(text:u'516-7773167')、問題のある文字がまだ出力に残っている場合でもエラーを回避します。

これは、結局のところ、課題はxlrdにあるのではないかと思います。

考え?

0 投票する
13 に答える
786936 参照

python - Python リストの値を使用して .csv ファイルを作成する

Python リストの値を使用して .csv ファイルを作成しようとしています。リストの値を出力すると、それらはすべてユニコード (?) になります。つまり、次のようになります。

リスト内の値を繰り返し処理するfor v in mylist: print vと、プレーン テキストのように見えます。

,そして、私はそれぞれの間に置くことができますprint ','.join(mylist)

そして、ファイルに出力できます。つまり

しかし、CSVに出力し、リスト内の値を区切り記号で囲みたいと思います.

フォーマットに区切り記号を含める簡単な方法が見つかりません。たとえば、joinステートメントを試してみました。これどうやってするの?

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

python - pyExcelerator/xlrd を使用してピボット

pyExcelerator / xlrd のような Python ライブラリを使用して、ピボット テーブルを含むワークシート (Excel ワークブック内) を作成するにはどうすればよいですか? 他のシートのデータを要約するピボット テーブルを持つ日次レポートを生成する必要があります。1 つのオプションは、コピーしてデータを入力する空白のテンプレートを用意することです。この場合、コードからピボットを更新する方法はありますか? 他の提案はありますか?

0 投票する
5 に答える
167820 参照

python - xlwt を使用して既存のワークブックに書き込む

xlwt を使用して既存のファイルに書き込む例が見つかりません。書き込む必要がある既存の xls ファイルがあります。xlrd を使用してファイルを読み取ると、返された "Book" タイプを xlwt.Workbook に変換する方法がわかりません。誰かが私に例を挙げてくれれば幸いです。

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

python - Pythonでxlrdを使用してExcelの数値データをテキストとして読み取る

xlrd を使用して Excel ファイルを読み込もうとしていますが、Excel ファイルで使用されているセルの書式設定を無視して、すべてのデータをテキストとしてインポートする方法があるかどうか疑問に思っています。

これが私がこれまでに使用しているコードです:

このコードは機能しますが、数値としてインポートされる特定のフィールド (郵便番号など) があるため、10 進数のゼロ サフィックスが付きます。たとえば、Excel ファイルに「79854」という郵便番号がある場合、「79854.0」としてインポートされます。

このxlrd 仕様で解決策を見つけようとしましたが、失敗しました。

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

python - xlrd の sheet.ncols に相当する win32com

xlrd を使用すると、最後の列が何であるかを簡単に知ることができます。

win32com を使用する簡単な方法はありますか?

ws.UsedRange.Rows.Count を使用してみましたが、正しい答えが得られないようです。

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

python - win32com が xlrd よりも遅いのはなぜですか?

win32com と xlrd を使用して記述された同じコードがあります。xlrd は 1 秒未満でアルゴリズムを実行しますが、win32com は数分かかります。

これが win32com です。

そして、xlrd

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

python - xlrd&xlwtpythonlibsの日時の問題

あるExcelスプレッドシートから別のスプレッドシートにいくつかの日付を書き込もうとしています。現在、「40299.2501157407」のように、私が望んでいるものとはまったく異なるExcelでの表現を取得しています。

日付をコンソールに正しく印刷することはできますが、Excelスプレッドシートに正しく書き込むことができないようです。データは、Excelの日付型である必要があり、テキストバージョンを使用することはできません。

日付を読み取る行は次のとおりです。

日付を書き出す行は次のとおりです。

これらの2行の間では、いくつかの比較を除いて、date_ccrに対して何も実行されていません。

何か案は?