Pythonで「openpyxl」ライブラリを利用し、「range」と「offset」を利用したエクセルデータの出力プログラムを作成しました。
前回、「offset」を利用したデータ出力を「range」を利用して簡単なプログラムにしました。
あわせて読みたい


【Python】openpyxlの「offset」でエクセルのセルの周辺データを取得するプログラム
Pythonでエクセルの特定の文字列のセルの周辺データを取得するためのプログラムを作成しました。 例えば、以下のように、「東京」というセルデータの右側のセルのデータ...
目次
「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」を利用したエクセルデータの出力プログラムとなります。
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

コメント