Pythonで「openpyxl」ライブラリを利用し、「range」と「offset」を利用したエクセルデータの出力プログラムを作成しました。
前回、「offset」を利用したデータ出力を「range」を利用して簡単なプログラムにしました。
「openpyxl」で「range」と「offset」を利用したエクセルデータを出力
以下では、「openpyxl」ライブラリを使用し、対象のエクセルデータとその右隣りのデータを抽出し出力するプログラムとなります。
※ parameter_06-1.py
import openpyxl as px wb = px.load_workbook('excel-data.xlsx') ws = wb["Sheet1"] # 入力のシート offset = 1 for i in range(1,200): copy1 = ws.cell(row = i, column = 2).value copy2 = ws.cell(row = i, column = 2 + offset).value print(copy1,copy2)
- 3-4行目:対象のエクセルシートを読み込み
- 6行目:offset関数を定義
- 7行目:for文でrangeを使用
- 8-9行目:rangeで範囲を抽出、さらにoffsetで対象データの右隣りのデータを抽出
- 10行目:抽出したデータを出力
※ 出力結果
PS C:> python .parameter_06-1.py ...... interface Ethernet1/1 interface Ethernet1/2 interface Ethernet1/3 interface Ethernet1/4 interface Ethernet1/5 interface Ethernet1/6 interface Ethernet1/7 interface Ethernet1/8 interface Ethernet1/9 interface Ethernet1/10 ......
データ抽出をまとめて出力
以下では一行でまとめてデータを抽出するプログラムとなります。
※ parameter_06-1.py
import openpyxl as px wb = px.load_workbook('excel-data.xlsx') ws = wb["Sheet1"] # 入力のシート offset = 1 for i in range(1,200): copy1 = ws.cell(row = i, column = 2).value, ws.cell(row = i, column = 2 + offset).value print(copy1)
- 8行目:「,」カンマを使用し、データ抽出を一行でまとめて抽出
※ 出力結果
PS C:> python .parameter_06-1.py ...... ('interface', 'Ethernet1/1') ('interface', 'Ethernet1/2') ('interface', 'Ethernet1/3') ('interface', 'Ethernet1/4') ('interface', 'Ethernet1/5') ('interface', 'Ethernet1/6') ('interface', 'Ethernet1/7') ('interface', 'Ethernet1/8') ('interface', 'Ethernet1/9') ('interface', 'Ethernet1/10') ......
以上が「range」と「offset」を利用したエクセルデータの出力プログラムとなります。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す