質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

792閲覧

pythonでWhere句利用のカラム数が可変の文字列の作成方法

python_heroku

総合スコア22

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/12/08 14:24

pythonで定期的にcsvファイルに記載のリストからSQL Serverに投げる下記のようなSQL文を作成したく思っています。

sql

1update customer_list set flag='1' where name='tom' and age='18' and ...

下記csvファイルのサンプル

name, age, ... tom, 18, ... sam, 25, ... peter, 22, ...

このcsvファイルをpandasで読み込みcsvファイルのカラム名でwhere句のフィルタを作成したいと思っています。
pythonで記載すると以下のようなイメージで考えています。

python

1list_df = pd.read_csv(filepath, index_col=0) 2columns_list = list_df.columns.tolist() 3num = len(list_df.columns) 4for n range num: 5 update_sql = "update coustomer_list set flag='1' where {0}={1} and {2}={3} and ..." 6 .format(columns_list[0], list_df.iloc[0, n], columns_list[1], list_df.iloc[1, n] ...)

この時、csvファイルのカラム=WHERE句で利用するカラムとしたいのですが、DBに存在するどのカラムがcsvの中にあっても良いし、1つで良い、としたいです。
そうした時にどのようにpython上でupdate_sql文を作成すれば良いのか、分からずご質問させていただきました。

sqlについては1行ずつ投げる方法に拘ってはいないので、上記の限りでは無いと思っていますがイメージとしてわかりやすいかなと思って記載させていただきました。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問