2017-02-03 3 views
8

При использовании pandas "read_sql_query" мне нужно закрыть соединение? Или я должен использовать инструкцию «с»? Или я могу просто использовать следующее и быть хорошим?Нужно ли закрывать соединение пандам?

from sqlalchemy import create_engine 
import pandas as pd 

sql = """ 
    SELECT * FROM Table_Name; 
    """ 
engine = create_engine('blah') 

df = pd.read_sql_query(sql, engine) 

print df.head() 

ответ

4

Looking at the source code, я не могу найти con.close() метод на любой объект подключения SQL, только cursor объекты для запросов.

Я бы закрылся для безопасной меры. Делаете ли вы это, используя with или нет, зависит от вас.

+1

Да, мне это не имеет смысла, чтобы закрыть соединение, если он принимает соединение как аргумент. –

+0

Правильно, потому что он должен будет повторно открываться для последующих запросов. –

+0

Соединения обычно должны закрываться, когда они выходят за рамки. Тем не менее, лучше закрыть соединения, когда это необходимо. – hoyland

1

Для тех, кто считает этот вопрос и задается вопросом, как закрыть соединение в этом примере, following method работал для меня: engine.dispose()

Смежные вопросы