Macでお馴染みのNumbersをPythonで扱う方法を日本語で扱っているサイトが見つからなかったので記事にします。
モジュールのインストール
pythonで以下のコードを実行してモジュールをインストールします
python3 -m pip install numbers-parser
使い方
ファイルの読み込み
from numbers_parser import Document doc = Document("sample.numbers") sheets = doc.sheets() tables = sheets[0].tables() rows = tables[0].rows()
docにファイルのインスタンスを作成。sheetsにシートを格納。tablesにテーブルを格納。rowsに行を格納。
シートと表を参照する
# シートにアクセスするメソッド sheet_1 = doc.sheets()[0] print("シート名", sheet_1.name) # テーブルにアクセスするメソッド table_1 = sheets["Table 1"] print("テーブル名", table_1.name)
データへのアクセス
data = sheets["Table 1"].rows() print("セル A1 のデータ", data[0][0]) print("セル C2 のデータ", data[2][1])
セルの参照
doc = Document("sample.numbers") sheets = doc.sheets() tables = sheets["Sheet 1"].tables() table = tables["Table 1"] # 行とカラムを扱う print("セル A1 のデータ", table.cell(0, 0)) # Excelのように参照することもできます print("セル C2 のデータ", table.cell("C2"))
Pandasも扱えます
import pandas as pd doc = Document("sample.numbers") sheets = doc.sheets() tables = sheets[0].tables() data = tables[0].rows(values_only=True) df = pd.DataFrame(data[1:], columns=data[0])
まとめ
簡単ではありますが、AppleのNumbersをpythonで扱う方法の紹介でした。詳しくは公式ドキュメントを参照してください。

コメント