[Python]AppleのNumbersを読み込む方法

テクノロジー・ガジェット

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で扱う方法の紹介でした。詳しくは公式ドキュメントを参照してください。

コメント