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】pandasを利用したエクセルで文字列を「行」で検索読み取りとデータ書き込みまで

【Python】pandasを利用したエクセルで文字列を「行」で検索読み取りとデータ書き込みまで

2020 5/29
Python
2020年2月15日2020年5月29日

Pythonの「pandas」ライブラリを利用してエクセル内のデータから文字列検索し、該当した文字列の行を読み取りと、データの書き込みまでのプログラムを作成しました。

今回の設定はカラムを指定した検索となっているので、カラム番号を指定します。
前回のCSV→エクセルへ変換した際の記事を参考にしてください。

あわせて読みたい
【Python】ライブラリ「Pandas」で「C error」解決!エクセルのカラムエラー Pythonで、CSVファイルから、エクセル(elsx)へデータを出力する際、カラムエラーが発生したので対応した時のまとめをしておきます。 「Pandas」ライブラリを使用した...
目次
安くて高速!高性能VPSで快適開発!
最速5分でサーバー構築
>>>こちらをチェック

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

「pandas」ライブラリを利用したエクセルの文字列読み取りと書き込み

以下では「pandas」ライブラリを利用し、エクセルファイル「excel-data.xlsx」のデータから文字列検索をしたプログラムとなります。
以下のデータは、CentOSで取得したコマンド「df -h」の出力結果をエクセルシートに書き込んだものとなります。

※ find_test00.py

import pandas as pd

df = pd.read_excel('excel-data.xlsx')

print(df['c00'].str.contains('tmpfs'))
print(df[df['c00'].str.contains('tmpfs')])
  • 3行目:「excel-data.xlsx」のデータを読み取り
  • 5行目:データが入力されている行で「tmpfs」と言う文字列があるのか、ないのかをTrue/Falseで判定
  • 6行目:「tmpfs」と言う文字列が該当する行を抽出

※ 実行結果

S C:Python> python find_test00.py
0    False
1     True
2     True
3     True
4     True
5    False
6    False
7     True
Name: c00, dtype: bool


   Unnamed: 0       c00   c01   c02   c03 c04             c05  c06  c07  c08  c09  c10   
1           1  devtmpfs  475M     0  475M  0%            /dev  NaN  NaN  NaN  NaN  NaN   
2           2     tmpfs  487M     0  487M  0%        /dev/shm  NaN  NaN  NaN  NaN  NaN   
3           3     tmpfs  487M  7.7M  479M  2%            /run  NaN  NaN  NaN  NaN  NaN   
4           4     tmpfs  487M     0  487M  0%  /sys/fs/cgroup  NaN  NaN  NaN  NaN  NaN
7           7     tmpfs   98M     0   98M  0%     /run/user/0  NaN  NaN  NaN  NaN  NaN

[5 rows x 101 columns]
PS C:Python> 

上記実行結果により、初めの出力結果は「tmpfs」と言う文字列があるかないかが判断されています。
次の出力結果では、その文字列がある「行」のみが出力されて表示されます。

「pandas」を使ってエクセルの文字列の抽出データを書き込む

次に指定の文字列の行を抽出し、別のエクセルシートにデータを出力するプログラムとなります。
以下では、cisco機器から出力した、「show run」コマンドの出力結果から、「interface」と言う文字列の行のみを抽出し、データを書き込みます。

※ find_test01.py

import pandas as pd

#エクセルファイル読み込み
df = pd.read_excel('excel-data.xlsx')

#カラムc00列の「interfae」の文字列抽出
data = df[df['c00'].str.contains('interface')]

#エクセルシートにデータ出力
data.to_excel('excel-data_find.xlsx', encoding='utf-8')


print('文字列:切り取り成功')
  • 4行目:該当のエクセルシートの読み込み
  • 7行目:カラム(列)の「c00」から、「interfae」とう文字列を抽出
  • 10行目:抽出したデータを「excel-data_find.xlsx」へ書き込む

※ 実行結果

PS C:Python> python find_test01.py
文字列:切り取り成功
PS C:Python>

抽出した「interface」の文字列を含む行のみがエクセルに書き込まれています。

and条件をつけてデータを抽出

次に複数の条件をつけたい時に「and」を利用したデータの抽出と書き込みの例となります。

import pandas as pd

#エクセルファイル読み込み
df = pd.read_excel('excel-data.xlsx')

#カラムc00列の「interface」と「port」を含む文字列抽出
data = df[df['c00' and 'c01'].str.contains('interface' and 'port')]

#エクセルシートにデータ出力
data.to_excel('excel-data_find.xlsx', encoding='utf-8')


print('文字列:切り取り成功')
  • 7行目:カラムとその列の対象となる文字列を「and」で指定しデータを抽出

このプログラムを実行することにより「interface」と「port」を含む文字列の行のみを抽出してデータを書き込みました。

pandasは文字列の検索、抽出、書き込みまでの一連の機能があるので参考にしてください。

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

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
目次
目次