MS Excelは、行と列の形式でデータを保持および共有するための便利な方法を提供します。多くの場合、Excelファイルは、数百、数千のレコードを持つ巨大なデータセットを保存するために使用されます。 PythonでExcelファイルを操作しているときに、ワークシートの各セルからデータを読み取る必要がある場合があります。これを実現するために、この記事ではPythonでExcelファイルを読み取る方法を示します。単一のワークシートまたはExcelワークブックのすべてのワークシートからデータを読み取る方法を学習します。
Excelファイルを読み取るためのPythonライブラリ
ワークブックからデータを読み取るには、Java経由のPython用Aspose.Cellsを使用します。これは、MSExcelファイルを作成するための強力で機能豊富なPythonライブラリです。さらに、既存のExcelファイルをシームレスに読み取って操作することができます。ライブラリをダウンロードするか、次のpipコマンドを使用してインストールできます。
pip install aspose-cells
PythonでExcelファイルを読む
データの読み取りを開始する前に、Excelファイルでのデータの管理方法の概要を見てみましょう。 Excelファイルは、コンテナとして機能するブックと呼ばれます。各ワークブックには1つ以上のワークシートが含まれ、すべてのワークシートはいくつかのセルで構成されています。これらのセルは、行と列によって一意に識別されます。したがって、セルからデータを読み取るには、その行と列のインデックスを知る必要があります。
以下は、Excelファイルを読み取り、そのデータをPythonで印刷する手順です。
- Workbookクラスを使用してExcelファイルをロードします。
- Workbook.getWorksheets()メソッドを使用して、WorksheetCollectionの参照を取得します。
- コレクション内のワークシートをループし、各反復で次の手順を実行します。
- オブジェクト内のワークシートの参照を取得します。
- ワークシートのデータの行と列の数を取得します。
- 行のループを開始します。
- 列のネストされたループを開始します。
- Worksheet.getCells().get(rowIndex, columnIndex).getValue()メソッドを使用して、各セルからデータを読み取ります。
次のコードサンプルは、PythonでExcelファイルを読み取る方法を示しています。
# Load Excel workbook
wb = Workbook("workbook.xlsx")
# Get worksheets collection
collection = wb.getWorksheets()
collectionCount = collection.getCount()
# Loop through all the worksheets
for worksheetIndex in range(collectionCount):
# Get worksheet using its index
worksheet = collection.get(worksheetIndex)
# Print worksheet name
print("Worksheet: " + str(worksheet.getName()))
# Get number of rows and columns
rows = worksheet.getCells().getMaxDataRow()
cols = worksheet.getCells().getMaxDataColumn()
# Loop through rows
for i in range(rows):
# Loop through each column in selected row
for j in range(cols):
# Print cell value
print(worksheet.getCells().get(i, j).getValue(), end =" | ")
# Print line break
print("\n")
以下は、上記のコードサンプルを実行した後に得られる出力です。
PythonのExcelで特定のワークシートを読む
以下の手順に従って、Excelファイルの特定のワークシートを読み取ることもできます。
- Workbookクラスを使用してExcelファイルをロードします。
- Workbook.getWorksheets().get(index)メソッドを使用して、目的のワークシートの参照を取得します。
- ワークシートのデータの行と列の数を取得します。
- 行のループを開始します。
- 列のネストされたループを開始します。
- Worksheet.getCells().get(rowIndex, columnIndex).getValue()メソッドを使用して、各セルからデータを読み取ります。
次のコードサンプルは、Pythonで特定のワークシートからデータを読み取る方法を示しています。
# Load Excel workbook
wb = Workbook("workbook.xlsx")
# Get worksheets collection
worksheet = wb.getWorksheets().get(0)
# Print worksheet name
print("Worksheet: " + str(worksheet.getName()))
# Get number of rows and columns
rows = worksheet.getCells().getMaxDataRow()
cols = worksheet.getCells().getMaxDataColumn()
# Loop through rows
for i in range(rows):
# Loop through each column in selected row
for j in range(cols):
# print cell value
print(worksheet.getCells().get(i, j).getValue(), end =" | ")
# Print line break
print("\n")
無料のAPIライセンスを取得する
無料の一時ライセンスをリクエストすることで、評価の制限なしにJava経由でAspose.CellsforPythonを使用できます。
結論
この記事では、PythonでExcelファイルを読み取る方法を学びました。さらに、Excelワークブックの特定のワークシートまたはすべてのワークシートからデータを読み取る方法を見てきました。 ドキュメントを使用して、Pythonスプレッドシートライブラリの詳細を調べることができます。ご不明な点やご質問がございましたら、フォーラムからお気軽にお問い合わせください。