MENU
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
カテゴリー
  • IT関連 (623)
    • Bootstrap (2)
    • クラウド (4)
    • サーバー技術 (185)
    • ストレージ (7)
      • NetApp (7)
    • ネットワーク技術 (91)
      • Cisco (36)
      • Juniper (18)
      • 負荷分散装置 (17)
    • パソコン関連 (92)
      • MAC (25)
      • Windows (54)
    • プログラミング (154)
      • Ansible (11)
      • C言語 (23)
      • Python (111)
        • Django (20)
    • 仮想化 (88)
      • Docker (63)
      • VMware (23)
  • VPS (200)
    • ABLENET VPS (16)
    • Amazon Lightsail(VPS) (2)
    • ConoHaVPS (37)
    • mixhostVPS (4)
    • WebARENAIndigo (16)
    • XServerVPS (34)
    • お名前.com VPS (12)
    • さくらのVPS (24)
    • カゴヤクラウドVPS (13)
    • シンVPS (7)
  • レンタルサーバー (56)
    • エックスサーバー (38)
  • 光回線 (8)
  • 技術スキルアップ開発・学習 (7)
    • Envader (2)
    • RareTECH (2)
    • Udemy (3)
もう現役20年超えましたー。経験値ならだれにも負けないエンジニア技術ブログ
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
  1. ホーム
  2. IT関連
  3. プログラミング
  4. Python
  5. 【Python】openpyxlでrangeとoffsetで抽出したデータをエクセルへ書き込み

【Python】openpyxlでrangeとoffsetで抽出したデータをエクセルへ書き込み

2020 5/29
Python
2020年3月14日2020年5月29日

前回、Pythonでエクセル内のデータから文字列のセルと周辺のデータを「offset」で出力しました。

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

今回は抽出したデータを別のエクセルの指定のシートとセルに書き込むプログラムを作成したのでまとめます。

目次
安くて高速!高性能VPSで快適開発!
最速5分でサーバー構築
>>>こちらをチェック

エンジニア必見! 技術力を伸ばすVPS徹底比較
>>>VPS比較

openpyxlで抽出したデータを別のエクセルの指定の位置に書き込む

前回同様、以下のNW機器から抽出したコンフィグを以下のエクセルシートに書き込んだ後、そこから指定の文字列を抽出し、さらに周辺のセルのデータも一緒に抽出し、別のエクセルシートに書き込みます。

以下が作成したプログラムとなります。

エクセルへのデータ書き込み作成コード

データ取得先のエクセルから、指定の文字列とその隣のデータを抽出し、別のエクセルシートへの作成するコードとなります。

※ parameter_06.py

import openpyxl as px

# データを抽出するファイルを読み取り
wb = px.load_workbook('excel-data.xlsx')

# データを書き込む先のファイルを作成
wb2 = px.Workbook('data.xlsx')
ws2 = wb2.create_sheet(title='interface')
wb2.save('data.xlsx')

# データを抽出するファイル、書き込み先のファイルを読み込み
wb2 = px.load_workbook('data.xlsx')
ws = wb["Sheet1"]  # 入力のシート
ws2 = wb2["interface"]  # 出力先のシート


# データ書き込み先の開始行
start_row = 3
row_num = start_row

offset = 1

# interfaceの文字列が表示されているデータを取得
for i in range(1,200):
    copy1 = ws.cell(row = i, column = 2).value, ws.cell(row = i, column = 2 + offset).value
    print(copy1)

# 「interface」の文字列がある行と右隣りの行を張り付ける
    for g in range(1,2):
        if 'interface' in copy1:
            ws2.cell(row_num, column=g+1).value = copy1[0]
            ws2.cell(row_num, column=g+2).value = copy1[1]
            row_num += 1

# ファイルを保存      
wb2.save('data.xlsx')
# ロードしたExcelファイルを閉じる
wb.close()
wb2.close()
  • 18-19行目:データ書き込み先の開始行の設定(ここでは3列目に書き込み)
  • 21行目:offsetで取得したデータの右隣りのセルのデータを出力するので「1」を設定
  • 24-26行目:指定の範囲内でデータを取得
  • 29-33行目:取得したデータから「interface」の文字列のセルの取得とその右隣りのセルのデータを指定の範囲に張り付ける

書き込みプログラム実行

以下でプログラムを実行します。

PS C:> python parameter_06.py  

実行した結果、指定の位置から抽出したデータをセルに書き込むことができました。

文字列取得とoffsetを利用したデータの抽出と別のエクセルへの書き込みは以上となります。

エンジニアスキルをアップする勉強法

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

あわせて読みたい
現役エンジニアがおすすめするVPSレンタルサーバ比較(高速SSD限定) 格安VPS比較(2025年最新版)

Python
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする コメントをキャンセル

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)



検索
カテゴリー
新着記事
  • XServerVPS アニメ風 男の子 プログラミングをしている VPSを利用している 楽しそうにしている
    XServerVPSで証明書(SSL)を取得する方法
    2025年3月24日
    XServerVPS
  • レンタルサーバ アニメ風 女の子 楽しんでパソコンをしている 目がキラキラ
    WordPressがレンタルサーバよりVPSで利用する方がおすすめの理由
    2025年3月19日
    VPS
  • VPS レンタルサーバー アニメ風 女の子 プログラミングをしている VPSを利用している 楽しそうにしている
    VPSとクラウドの違いとは?初心者向けにわかりやすく解説
    2025年3月5日
    VPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSはWindows serverを利用できない。その理由と利用できるOSは?
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSでゲームを利用する環境はあるのか
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSのサイトの表示速度は他社に比べて早いのか?
    2025年3月4日
    シンVPS
目次
目次