當前位置: 首頁>>代碼示例>>Python>>正文


Python sql.read_sql方法代碼示例

本文整理匯總了Python中pandas.io.sql.read_sql方法的典型用法代碼示例。如果您正苦於以下問題:Python sql.read_sql方法的具體用法?Python sql.read_sql怎麽用?Python sql.read_sql使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在pandas.io.sql的用法示例。


在下文中一共展示了sql.read_sql方法的12個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: test_datetime

# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import read_sql [as 別名]
def test_datetime(self):
        df = DataFrame({'A': date_range('2013-01-01 09:00:00', periods=3),
                        'B': np.arange(3.0)})
        df.to_sql('test_datetime', self.conn)

        # with read_table -> type information from schema used
        result = sql.read_sql_table('test_datetime', self.conn)
        result = result.drop('index', axis=1)
        tm.assert_frame_equal(result, df)

        # with read_sql -> no type information -> sqlite has no native
        result = sql.read_sql_query('SELECT * FROM test_datetime', self.conn)
        result = result.drop('index', axis=1)
        if self.flavor == 'sqlite':
            assert isinstance(result.loc[0, 'A'], string_types)
            result['A'] = to_datetime(result['A'])
            tm.assert_frame_equal(result, df)
        else:
            tm.assert_frame_equal(result, df) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:21,代碼來源:test_sql.py

示例2: test_datetime_NaT

# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import read_sql [as 別名]
def test_datetime_NaT(self):
        df = DataFrame({'A': date_range('2013-01-01 09:00:00', periods=3),
                        'B': np.arange(3.0)})
        df.loc[1, 'A'] = np.nan
        df.to_sql('test_datetime', self.conn, index=False)

        # with read_table -> type information from schema used
        result = sql.read_sql_table('test_datetime', self.conn)
        tm.assert_frame_equal(result, df)

        # with read_sql -> no type information -> sqlite has no native
        result = sql.read_sql_query('SELECT * FROM test_datetime', self.conn)
        if self.flavor == 'sqlite':
            assert isinstance(result.loc[0, 'A'], string_types)
            result['A'] = to_datetime(result['A'], errors='coerce')
            tm.assert_frame_equal(result, df)
        else:
            tm.assert_frame_equal(result, df) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:20,代碼來源:test_sql.py

示例3: test_write_row_by_row

# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import read_sql [as 別名]
def test_write_row_by_row(self):

        frame = tm.makeTimeDataFrame()
        frame.iloc[0, 0] = np.nan
        create_sql = sql.get_schema(frame, 'test')
        cur = self.conn.cursor()
        cur.execute(create_sql)

        cur = self.conn.cursor()

        ins = "INSERT INTO test VALUES (%s, %s, %s, %s)"
        for idx, row in frame.iterrows():
            fmt_sql = format_query(ins, *row)
            tquery(fmt_sql, cur=cur)

        self.conn.commit()

        result = sql.read_sql("select * from test", con=self.conn)
        result.index = frame.index
        tm.assert_frame_equal(result, frame, check_less_precise=True) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:22,代碼來源:test_sql.py

示例4: _check_roundtrip

# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import read_sql [as 別名]
def _check_roundtrip(self, frame):
        sql.to_sql(frame, name='test_table', con=self.conn, index=False)
        result = sql.read_sql("select * from test_table", self.conn)

        # HACK! Change this once indexes are handled properly.
        result.index = frame.index

        expected = frame
        tm.assert_frame_equal(result, expected)

        frame['txt'] = ['a'] * len(frame)
        frame2 = frame.copy()
        frame2['Idx'] = Index(lrange(len(frame2))) + 10
        sql.to_sql(frame2, name='test_table2', con=self.conn, index=False)
        result = sql.read_sql("select * from test_table2", self.conn,
                              index_col='Idx')
        expected = frame.copy()
        expected.index = Index(lrange(len(frame2))) + 10
        expected.index.name = 'Idx'
        tm.assert_frame_equal(expected, result) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:22,代碼來源:test_sql.py

示例5: test_execute

# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import read_sql [as 別名]
def test_execute(self):
        frame = tm.makeTimeDataFrame()
        drop_sql = "DROP TABLE IF EXISTS test"
        create_sql = sql.get_schema(frame, 'test')
        cur = self.conn.cursor()
        with warnings.catch_warnings():
            warnings.filterwarnings("ignore", "Unknown table.*")
            cur.execute(drop_sql)
        cur.execute(create_sql)
        ins = "INSERT INTO test VALUES (%s, %s, %s, %s)"

        row = frame.iloc[0].values.tolist()
        sql.execute(ins, self.conn, params=tuple(row))
        self.conn.commit()

        result = sql.read_sql("select * from test", self.conn)
        result.index = frame.index[:1]
        tm.assert_frame_equal(result, frame[:1]) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:20,代碼來源:test_sql.py

示例6: test_execute

# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import read_sql [as 別名]
def test_execute(self):
        _skip_if_no_pymysql()
        frame = tm.makeTimeDataFrame()
        drop_sql = "DROP TABLE IF EXISTS test"
        create_sql = sql.get_schema(frame, 'test')
        cur = self.conn.cursor()
        with warnings.catch_warnings():
            warnings.filterwarnings("ignore", "Unknown table.*")
            cur.execute(drop_sql)
        cur.execute(create_sql)
        ins = "INSERT INTO test VALUES (%s, %s, %s, %s)"

        row = frame.iloc[0].values.tolist()
        sql.execute(ins, self.conn, params=tuple(row))
        self.conn.commit()

        result = sql.read_sql("select * from test", self.conn)
        result.index = frame.index[:1]
        tm.assert_frame_equal(result, frame[:1]) 
開發者ID:birforce,項目名稱:vnpy_crypto,代碼行數:21,代碼來源:test_sql.py

示例7: test_date_parsing

# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import read_sql [as 別名]
def test_date_parsing(self):
        # Test date parsing in read_sql
        # No Parsing
        df = sql.read_sql_query("SELECT * FROM types_test_data", self.conn)
        assert not issubclass(df.DateCol.dtype.type, np.datetime64)

        df = sql.read_sql_query("SELECT * FROM types_test_data", self.conn,
                                parse_dates=['DateCol'])
        assert issubclass(df.DateCol.dtype.type, np.datetime64)

        df = sql.read_sql_query("SELECT * FROM types_test_data", self.conn,
                                parse_dates={'DateCol': '%Y-%m-%d %H:%M:%S'})
        assert issubclass(df.DateCol.dtype.type, np.datetime64)

        df = sql.read_sql_query("SELECT * FROM types_test_data", self.conn,
                                parse_dates=['IntDateCol'])

        assert issubclass(df.IntDateCol.dtype.type, np.datetime64)

        df = sql.read_sql_query("SELECT * FROM types_test_data", self.conn,
                                parse_dates={'IntDateCol': 's'})

        assert issubclass(df.IntDateCol.dtype.type, np.datetime64) 
開發者ID:securityclippy,項目名稱:elasticintel,代碼行數:25,代碼來源:test_sql.py

示例8: test_to_sql_type_mapping

# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import read_sql [as 別名]
def test_to_sql_type_mapping(self):
        sql.to_sql(self.test_frame3, 'test_frame5', self.conn, index=False)
        result = sql.read_sql("SELECT * FROM test_frame5", self.conn)

        tm.assert_frame_equal(self.test_frame3, result) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:7,代碼來源:test_sql.py

示例9: test_read_sql_delegate

# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import read_sql [as 別名]
def test_read_sql_delegate(self):
        iris_frame1 = sql.read_sql_query(
            "SELECT * FROM iris", self.conn)
        iris_frame2 = sql.read_sql(
            "SELECT * FROM iris", self.conn)
        tm.assert_frame_equal(iris_frame1, iris_frame2)

        iris_frame1 = sql.read_sql_table('iris', self.conn)
        iris_frame2 = sql.read_sql('iris', self.conn)
        tm.assert_frame_equal(iris_frame1, iris_frame2) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:12,代碼來源:test_sql.py

示例10: test_database_uri_string

# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import read_sql [as 別名]
def test_database_uri_string(self):

        # Test read_sql and .to_sql method with a database URI (GH10654)
        test_frame1 = self.test_frame1
        # db_uri = 'sqlite:///:memory:' # raises
        # sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near
        # "iris": syntax error [SQL: 'iris']
        with tm.ensure_clean() as name:
            db_uri = 'sqlite:///' + name
            table = 'iris'
            test_frame1.to_sql(table, db_uri, if_exists='replace', index=False)
            test_frame2 = sql.read_sql(table, db_uri)
            test_frame3 = sql.read_sql_table(table, db_uri)
            query = 'SELECT * FROM iris'
            test_frame4 = sql.read_sql_query(query, db_uri)
        tm.assert_frame_equal(test_frame1, test_frame2)
        tm.assert_frame_equal(test_frame1, test_frame3)
        tm.assert_frame_equal(test_frame1, test_frame4)

        # using driver that will not be installed on Travis to trigger error
        # in sqlalchemy.create_engine -> test passing of this error to user
        try:
            # the rest of this test depends on pg8000's being absent
            import pg8000  # noqa
            pytest.skip("pg8000 is installed")
        except ImportError:
            pass

        db_uri = "postgresql+pg8000://user:pass@host/dbname"
        with pytest.raises(ImportError, match="pg8000"):
            sql.read_sql("select * from table", db_uri) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:33,代碼來源:test_sql.py

示例11: test_query_by_text_obj

# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import read_sql [as 別名]
def test_query_by_text_obj(self):
        # WIP : GH10846
        name_text = sqlalchemy.text('select * from iris where name=:name')
        iris_df = sql.read_sql(name_text, self.conn, params={
                               'name': 'Iris-versicolor'})
        all_names = set(iris_df['Name'])
        assert all_names == {'Iris-versicolor'} 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:9,代碼來源:test_sql.py

示例12: test_con_string_import_error

# 需要導入模塊: from pandas.io import sql [as 別名]
# 或者: from pandas.io.sql import read_sql [as 別名]
def test_con_string_import_error(self):
        if not SQLALCHEMY_INSTALLED:
            conn = 'mysql://root@localhost/pandas_nosetest'
            pytest.raises(ImportError, sql.read_sql, "SELECT * FROM iris",
                          conn)
        else:
            pytest.skip('SQLAlchemy is installed') 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:9,代碼來源:test_sql.py


注:本文中的pandas.io.sql.read_sql方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。