本文整理匯總了Python中pandas.io.sql.SQLDatabase方法的典型用法代碼示例。如果您正苦於以下問題:Python sql.SQLDatabase方法的具體用法?Python sql.SQLDatabase怎麽用?Python sql.SQLDatabase使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類pandas.io.sql
的用法示例。
在下文中一共展示了sql.SQLDatabase方法的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: setup_method
# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import SQLDatabase [as 別名]
def setup_method(self, load_iris_data):
super(_EngineToConnMixin, self).load_test_data_and_sql()
engine = self.conn
conn = engine.connect()
self.__tx = conn.begin()
self.pandasSQL = sql.SQLDatabase(conn)
self.__engine = engine
self.conn = conn
yield
self.__tx.rollback()
self.conn.close()
self.conn = self.__engine
self.pandasSQL = sql.SQLDatabase(self.__engine)
# XXX:
# super(_EngineToConnMixin, self).teardown_method(method)
示例2: setup_method
# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import SQLDatabase [as 別名]
def setup_method(self, datapath):
super(_EngineToConnMixin, self).setup_method(datapath)
engine = self.conn
conn = engine.connect()
self.__tx = conn.begin()
self.pandasSQL = sql.SQLDatabase(conn)
self.__engine = engine
self.conn = conn
yield
self.__tx.rollback()
self.conn.close()
self.conn = self.__engine
self.pandasSQL = sql.SQLDatabase(self.__engine)
# XXX:
# super(_EngineToConnMixin, self).teardown_method(method)
示例3: drop_table
# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import SQLDatabase [as 別名]
def drop_table(self, table_name):
sql.SQLDatabase(self.conn).drop_table(table_name)
示例4: test_sqlalchemy_type_mapping
# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import SQLDatabase [as 別名]
def test_sqlalchemy_type_mapping(self):
# Test Timestamp objects (no datetime64 because of timezone) (GH9085)
df = DataFrame({'time': to_datetime(['201412120154', '201412110254'],
utc=True)})
db = sql.SQLDatabase(self.conn)
table = sql.SQLTable("test_type", db, frame=df)
# GH 9086: TIMESTAMP is the suggested type for datetimes with timezones
assert isinstance(table.table.c['time'].type, sqltypes.TIMESTAMP)
示例5: setup_connect
# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import SQLDatabase [as 別名]
def setup_connect(self):
try:
self.conn = self.connect()
self.pandasSQL = sql.SQLDatabase(self.conn)
# to test if connection can be made:
self.conn.connect()
except sqlalchemy.exc.OperationalError:
pytest.skip(
"Can't connect to {0} server".format(self.flavor))
示例6: test_create_table
# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import SQLDatabase [as 別名]
def test_create_table(self):
temp_conn = self.connect()
temp_frame = DataFrame(
{'one': [1., 2., 3., 4.], 'two': [4., 3., 2., 1.]})
pandasSQL = sql.SQLDatabase(temp_conn)
pandasSQL.to_sql(temp_frame, 'temp_frame')
assert temp_conn.has_table('temp_frame')
示例7: to_sql
# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import SQLDatabase [as 別名]
def to_sql(df, name, schema, con, index, if_exists, mode='default', **kwargs):
"""
Override the default `pandas.to_sql` method to allow for insertion of
multiple rows of data at once. This is derived from the upstream patch at
https://github.com/pandas-dev/pandas/pull/21401, and can be deprecated
once it is merged and released in a new version of `pandas`.
"""
assert mode in ('default', 'multi'), 'unexpected `to_sql` mode {}'.format(mode)
if mode == 'default':
return df.to_sql(
name=name, schema=schema, con=con, index=index, if_exists=if_exists, **kwargs
)
else:
nrows = len(df)
if nrows == 0:
return
chunksize = kwargs.get('chunksize', nrows)
if chunksize == 0:
raise ValueError('chunksize argument should be non-zero')
chunks = int(nrows / chunksize) + 1
pd_sql = SQLDatabase(con)
pd_table = SQLTable(
name, pd_sql, frame=df, index=index, if_exists=if_exists,
index_label=kwargs.get('insert_label'), schema=schema, dtype=kwargs.get('dtype')
)
pd_table.create()
keys, data_list = pd_table.insert_data()
with pd_sql.run_transaction() as conn:
for i in range(chunks):
start_i = i * chunksize
end_i = min((i + 1) * chunksize, nrows)
if start_i >= end_i:
break
chunk_iter = zip(*[arr[start_i:end_i] for arr in data_list])
data = [{k: v for k, v in zip(keys, row)} for row in chunk_iter]
conn.execute(pd_table.table.insert(data)) # multivalues insert
示例8: test_sqlalchemy_type_mapping
# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import SQLDatabase [as 別名]
def test_sqlalchemy_type_mapping(self):
# Test Timestamp objects (no datetime64 because of timezone) (GH9085)
df = DataFrame({'time': to_datetime(['201412120154', '201412110254'],
utc=True)})
db = sql.SQLDatabase(self.conn)
table = sql.SQLTable("test_type", db, frame=df)
assert isinstance(table.table.c['time'].type, sqltypes.DateTime)
示例9: setup_method
# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import SQLDatabase [as 別名]
def setup_method(self, method):
super(_EngineToConnMixin, self).setup_method(method)
engine = self.conn
conn = engine.connect()
self.__tx = conn.begin()
self.pandasSQL = sql.SQLDatabase(conn)
self.__engine = engine
self.conn = conn
示例10: teardown_method
# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import SQLDatabase [as 別名]
def teardown_method(self, method):
self.__tx.rollback()
self.conn.close()
self.conn = self.__engine
self.pandasSQL = sql.SQLDatabase(self.__engine)
super(_EngineToConnMixin, self).teardown_method(method)
示例11: test_drop_table
# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import SQLDatabase [as 別名]
def test_drop_table(self):
temp_conn = self.connect()
temp_frame = DataFrame(
{'one': [1., 2., 3., 4.], 'two': [4., 3., 2., 1.]})
pandasSQL = sql.SQLDatabase(temp_conn)
pandasSQL.to_sql(temp_frame, 'temp_frame')
assert temp_conn.has_table('temp_frame')
pandasSQL.drop_table('temp_frame')
assert not temp_conn.has_table('temp_frame')