固定sql语句传参批量查询数据库脚本

#!/usr/bin/env python                                                                               
# encoding: utf-8                                                                   
                                                                                    
import pandas as pd                                                                 
import psycopg2                                                                     
conn_dv = psycopg2.connect(database="", user="", password="")
                                                                                    
def read_csv(filename):                                                                     
    usr_list = pd.read_csv(filename)                                       
    res  = []                                                                       
    for i in usr_list.values:                                                       
        res.extend(i)                                                               
    return tuple(res)                                                               
                                                                                    
                                                                                    
def sql_to_csv(sql, conn):                                                          
    df = pd.read_sql_query(sql, conn)                                               
    df.to_csv('tmp.csv', index=False)                                               
    return df                                                                       
                      
                                                                                    
if __name__=='__main__':                                                            
    usr_ids = read_csv('name.csv')                                                            
    sql = """select * from usr_info where cust_id = {uid};""".format(uid=usr_ids)
    df = sql_to_csv(sql, conn_dv)    
                                               

关键知识点回顾:

  • pd.read_csv() 读取csv
  • pd.read_sql_query(sql,conn) 执行sql查询方法,sql为语句,conn为数据库连接字符串
  • df.to_csv('tmp.csv', index=False) 去除index对象,生成csv的名字为tmp.csv
原文地址:https://www.cnblogs.com/everfight/p/pandas_code.html