PyExcel  

 
 

スプレッドシート用のオープン ソース Python ライブラリ

Python API を介して、CSV、ODS、XLS、XLSX、XLSM スプレッドシート ファイルのデータを読み取り、作成、マージ、およびフィルタリングします。

PyExcel は、いくつかの一般的なスプレッドシート形式での作業をサポートするオープン ソースの単一の Python API です。ソフトウェア プログラマーは、CSV、ODS、XLS、XLSX、および XLSM ファイル形式のデータの読み取り、操作、および書き込みを行うことができます。 API は、ファイル形式ではなくデータに重点を置いています。このライブラリは、共通のプログラミング インターフェイスを提供することにより、Web 開発者がほとんどの Excel ファイル形式を処理するのに役立ちます。

MS Excel ファイルからデータを取得またはエクスポートするのは非常に簡単です。ほとんどの場合、Excel ファイルからデータを取得するには、ワンライナー コードが必要です。さまざまな Excel ファイル形式のデータを読み書きするための API は 1 つだけです。スプレッドシート内のデータの読み取りと更新、1 つのディレクトリ内のすべての Excel ファイルのマージ、ワークブックの分割、ワークブックからのシートの抽出、行とセルのマージ、列のスタイル設定、列の追加または削除など、いくつかの重要な機能が API によって完全にサポートされています。シート、データ フィルタリングなどから。 API は、外部プラグインでサポートされているファイル形式のリストを提供します。 pip を使用して、プラグインを追加または削除できます。

Previous Next

PyExcel を使い始める

まず、システムに Python 2.6 以降がインストールされている必要があります。推奨されるインストール方法は、pip を使用することです。次のコマンドを使用してください。

PIP コマンドで PyExcel をインストールする

 pip install pyexcel 

Excel スプレッドシートを操作するための Python API

PyExcel API を使用すると、ソフトウェア開発者は、CSV、ODS、XLS、XLSX、XLSM などのさまざまな Excel 形式のデータにアクセス、読み取り、書き込み、および操作できます。 PyExcel API を使用して Excel ファイルからデータをインポートまたはエクスポートするのは非常に簡単です。既存のファイルへの新しい行の追加、既存のファイルの行の更新、既存のファイルへの列の追加または更新、シートの結合または分割、データの検索、Excel ファイルの他の形式への変換などをサポートしています。 

Python APIでスプレッドシートファイルを既存の行に追加する

import pyexcel as pe
sheet = pe.get_sheet(file_name="example.xls")
sheet.row += [12, 11, 10]
sheet.save_as("new_example.xls")
pe.get_sheet(file_name="new_example.xls")

Excel ワークシートの結合と分割

PyExcel API を使用すると、開発者は、ディレクトリ内に散らばっているファイルを 1 つの Excel ワークブックにマージすることができます。各ファイルはワークブック内のシートになります。また、XLS、CSV、XLSM、ODS などの他の Excel 形式と組み合わせて使用する機能も提供します。ワークブックを複数のファイルに分割することも容易になります。複数のワークシートを含む本があるとします。オープン ソースの PyExcel ライブラリを使用して、それぞれを 1 つのシートの Excel ファイルに分割できます。

Python APIでExcelファイルをマージまたは分割

//merge two files into one file
from pyexcel.cookbook import merge_two_files
merge_two_files("example.csv", "example.xls", "output.xls")
//Split a workbook into single sheet files
from pyexcel.cookbook import split_a_book
split_a_book("megabook.xls", "output.xls")
import glob
outputfiles = glob.glob("*_output.xls")
for file in sorted(outputfiles):
print(file)

スプレッドシートでのデータのフィルタリング

PyExcel API は、開発者が独自のニーズに応じてデータをフィルター処理するための機能を提供します。大量のデータがあり、そこから一部のデータを除外したいとします。 APIを使えば簡単にできます。また、シートからの空の行または列のフィルタリングもサポートしています。フィルタ データを別のファイルに保存することもできます。

Pythonアプリ内のExcelシートから空のロスをフィルタアウトする方法

import pyexcel as pe
sheet = pe.Sheet([[1,2,3],['','',''],['','',''],[1,2,3]])
//define filter
def filter_row(row_index, row):
    result = [element for element in row if element != '']
    return len(result)==0
// Apply filter
del sheet.row[filter_row]
 日本