Python
Excel
pandas
vlookup

Python:Pandasでエクセルリストを読んで、Vlookup的な事をする

概要

前回つくったTIFFをPDFに変換するコードで
元のTIFFファイルに送信元FAX番号がついていたので、電話帳から番号をキーにして
法人名を当て込むコード

使用環境

インタープリター:Python3.6
使用ライブラリ:Pandas
使用ファイル:xlsx
※例:下記のようなエクセルファイルでつくった電話帳
テスト.png

コード

Pandas_test.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import pandas as pd

# 読み込むエクセル一覧
input_file_name = 'C:/test.xlsx'

# xls book Open (xls, xlsxのどちらでも可能)
#ファイルからシートネームの取得
input_book = pd.ExcelFile(input_file_name)
#ブックからシートネームの取得
input_sheet_name = input_book.sheet_names
#一枚目のシートから2時配列をパース、データ型はオブジェトで読まないと詰む
input_sheet_df = input_book.parse(input_sheet_name[0], dtype='object')
#2字配列を表示
print(input_sheet_df)

#キーとなる電話番号例
Bangou="111222333"

#条件指定を指定する。※queryで変数使う場合は@使わないと詰む
result =input_sheet_df.query('FAX == @Bangou')
print(len(result))

#検索する番号が配列にある場合は2列目の値を持ってくる
#同じ番号はリストにないものとして考えてます。
if len(result) >= 1:
    result=(result.iat[0, 1])

#結果表示
print(result)

結果

法人Aだけ表示される筈です。
ファイル名の置き換えをしたかったので書いてみた