🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

2回答

1289閲覧

リストに格納された複数の情報を取り出して変数に代入させたい

john_doe_

総合スコア354

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2019/11/23 09:43

編集2019/11/23 09:50

pythonを使って同報メールを自作しようと考えています。
メール送信は無事にできるようになったので、
作成した住所録の内容をテンプレート内の変数に代入したいと考えています。

dataframe例)
|corp_name|job_title|name|mail|
|:--|:--:|--:|
|株式会社A|代表取締役|日本太郎|taro@gmail.com|
|株式会社B|専務取締役|日本花子|hanako@yahoo.co.jp|
|株式会社C|常務取締役|東京太郎|tokyo@gmail.com|

corp_name = df['corp_name'] job_title = df['job_title'] name = df['name'] mail = df['mail'] # corp_name,job_titile,name,mailに住所録の内容を入力したい content = str(corp_name)+'\n'+str(job_title)+'\u3000'+str(name) mail_to = mail # for文で対応しようとしたが、複数の情報をループ処理をどうやったら良いかわからず。。。。 for i in corp_name: str(i)+'\n'+str(job_title)+'\u3000'+str(name)

pythonの初歩的な構文かとは存じますが、ご教示いただけましたら幸甚です。
何卒よろしくお願い申し上げます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

hoge.tsvを読み込んでDataFrameを作成し、適当にループするサンプルを書いてみました。

hoge.tsv

tsv

1corp_name job_title name mail 2株式会社A 代表取締役 日本太郎 taro@gmail.com 3株式会社B 専務取締役 日本花子 hanako@yahoo.co.jp 4株式会社C 常務取締役 東京太郎 tokyo@gmail.com

sample.py

python

1import pandas as pd 2df = pd.read_table('hoge.tsv', header=0) 3for i, row in df.iterrows(): 4 print('To: ' + row['mail']) 5 print(row['corp_name'] + ' ' + row['job_title'] + ' ' + row['name'] + '様')

投稿2019/11/23 14:00

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

john_doe_

2019/11/24 02:19

ご親切にご教示いただきましてありがとうございます。 tsvで読み込まないと都合悪かったでしょうか? csvのままでは処理するのは困難でしたでしょうか? 稚拙な質問となり恐縮ですが、何卒よろしくお願いします。
退会済みユーザー

退会済みユーザー

2019/11/24 02:28

tsvになってるのは、ブラウザ(Chrome)の表からコピペしたときにTAB区切りになったからです。 より一般的なcsvに置換しようかとも思いましたが、今回提示されたデータは英語の名前などで,が入る可能性があり、クォートやエスケープが面倒かもと思い、tsvのままにしただけです(今回のデータにTABや改行は多分入らないと思ったので)。
john_doe_

2019/11/24 03:43

ご親切にありがとうございます。 tsvの読み込みをしたことがなかったので、参考までにお伺いさせていただきました。 丁寧にご教示いただき大変助かりました。
guest

0

ベストアンサー

python

1for i in range(3): 2 content=df.loc[i, 'corp_name']+'\n'+df.loc[i,'job_title']+'\u3000'+df.loc[i,'name'] 3 print(content)

投稿2019/11/23 12:58

WathMorks

総合スコア1582

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

john_doe_

2019/11/24 02:26

稚拙な質問にもかかわらず、ご親切にご教示いただきましてありがとうございます。 こんなに簡易に処理できるのですね。勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問