Edited at

【Python】35歳+営業職+プログラミング経験なしが2週間でPythonを使って営業日報を効率化した話


結論(何を効率化したか)

CRM(顧客管理システム)から吐き出されるCSVから必要な情報(訪問先、訪問結果)を抽出し、上長に日報メールを送ることに成功


背景

営業した訪問先、訪問結果をCRMに入力している。一日に営業した訪問先と訪問結果を夕方、上長にメールで報告。

ただ、CRMに入力した内容を再度メールに打つのがめんどくさい

コピペでもめんどくさい

なぜなら、コピペするのにも1件、1件訪問先をクリックして訪問結果をコピーしなければならない。その日、10件回ったら10回繰り返さなければならないからだ。

ただでさえ、日中営業で回って疲れている状態で、夕方にこの作業を行うのがしんどいわけ。


全体の流れ

① 今日分を入力したCRMから一日の訪問結果をCSVでダウンロード

② pythonのプログラムを実行

以上(以前に比べたらめちゃくちゃ簡単

APIとかあればもっと簡単にできるんだろうな・・・


実際のコード


mail.py

from email.mime.text import MIMEText  # MIMETextモジュール読み込み

import smtplib # smtpモジュール読み込み
import datetime # 日付モジュール読み込み
import csv # csvモジュール読み込み

data = []
with open("./crm.csv", encoding="shift_jis") as f: # csvファイルを開く
reader = csv.reader(f) # csvのデータをリストで行単位で保有
header = next(reader) # ヘッダーを読み飛ばす
for row in reader: # 一行ずつのデータを取り出す
data.append("・{}\n{}\n".format(row[2], row[9])) # 訪問先と訪問結果を抽出

# SMTP認証情報
account = "gmailのメールアドレス"
password = "gmailのパスワード"

# 送受信先
to_email = "送信先のメールアドレス(上長のメールアドレス)"
from_email = "自分のメールアドレス"

# MIMEの作成
today = datetime.date.today() #日付を取得し代入
subject = str(today)+"報告" #日付を出力
message = "\n".join(data) #抽出したcsvデータを代入
msg = MIMEText(message, "plain")
msg["Subject"] = subject
msg["To"] = to_email
msg["From"] = from_email

# メール送信処理
server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
server.login(account, password)
server.send_message(msg)
server.quit()


このプログラムを実行すると一日の訪問先と訪問結果が上長にメールされる。

同じ内容を再度メールに打つこともなく、コピペをすることもなく。

あ〜簡単、幸せ!!


まとめ

今までプログラミング経験もなく、Pythonを勉強し始めて2週間くらいしかたっていない。

ここまでできたのも、今は勉強するためのツールや情報がたくさんある。

どのように勉強したかはまた別の機会に投稿しようと思う。

少しのアイデアとまずはやってみるということができれば、日々の業務もこんなに簡単に効率化される。

私がどうやって学習しているかは下記を参考

【Python】35歳+営業職+プログラミング経験なしのPython学習方法(プログラミング経験なし向け)


参考にした情報