10

Python を使用して、特定の Excel シート セル内の太字または斜体の部分文字列をすべて検索する必要があります。

私の問題はこれに似ています:

XLRD モジュールと Python を使用してセルのフォント スタイル (斜体かどうか) を決定する

..しかし、セル内のすべてのコンテンツに同じフォーマットが適用されるとは想定できないため、解決策は私には適用できません。1 つのセルの値は次のようになります。


1. 一部の太字のテキスト一部の通常のテキスト。一部の斜体テキスト


xlrd (またはその他の Python Excel モジュール) を使用して、セル内の文字の範囲の書式設定を見つける方法はありますか?

4

3 に答える 3

7

xlrdこれを行うことができます。load_workbook()kwargで呼び出す必要がありますformatting_info=True。その後、シート オブジェクトには、セル座標 (タプル) をそのセルのランリストにマッピングする辞書である属性rich_text_runlist_mapが含まれます。ランリストは、セル内のフォントの開始位置を示す一連のペアであり、workbookオブジェクトの属性 (workbook オブジェクトは によって返されるもの) にインデックスを付けます。これにより、太字を含むフォントのプロパティを記述するFont オブジェクトが得られます。 、斜体、書体、サイズなど(row, col)(offset, font_index)offsetfont_indexfont_listload_workbook()

于 2016-04-10T16:56:50.200 に答える
3

でそれができるかどうかはわかりませんがxlrd、他の Python Excel モジュールについて尋ねているため、バージョン 1.6.1 ではこれを行うopenpyxl ことはできません。

リッチ テキストは の関数get_string()で再構築されopenpyxl/reader/strings.pyます。そのモジュールで「生の」文字列を使用して2番目のテーブルをセットアップするのは比較的簡単です。

于 2013-03-19T15:46:58.210 に答える