Posted at

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

More than 1 year has passed since last update.


概要

前回つくった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だけ表示される筈です。

ファイル名の置き換えをしたかったので書いてみた