From 2152f09d889bf973fd2010afff8be57af505d1fc Mon Sep 17 00:00:00 2001 From: NG KA HEI Date: Tue, 30 Jun 2020 16:32:27 +0800 Subject: [PATCH 1/3] Add query_data_frame_stream method --- influxdb_client/client/query_api.py | 30 +++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/influxdb_client/client/query_api.py b/influxdb_client/client/query_api.py index 304a3398..1a8b7da1 100644 --- a/influxdb_client/client/query_api.py +++ b/influxdb_client/client/query_api.py @@ -105,6 +105,27 @@ def query_data_frame(self, query: str, org=None, data_frame_index: List[str] = N from ..extras import pd + _generator = self.query_data_frame_stream(query, org=org, data_frame_index=data_frame_index) + _dataFrames = list(_generator) + + if len(_dataFrames) == 0: + return pd.DataFrame(columns=[], index=None) + elif len(_dataFrames) == 1: + return _dataFrames[0] + else: + return _dataFrames + + def query_data_frame_stream(self, query: str, org=None, data_frame_index: List[str] = None): + """ + Synchronously executes the Flux query and return stream of Pandas DataFrame as a Generator['pd.DataFrame']. + Note that if a query returns more then one table than the client generates a DataFrame for each of them. + + :param query: the Flux query + :param org: organization name (optional if already specified in InfluxDBClient) + :param data_frame_index: the list of columns that are used as DataFrame index + :return: + """ + if org is None: org = self._influxdb_client.org @@ -113,14 +134,7 @@ def query_data_frame(self, query: str, org=None, data_frame_index: List[str] = N _parser = FluxCsvParser(response=response, serialization_mode=FluxSerializationMode.dataFrame, data_frame_index=data_frame_index) - _dataFrames = list(_parser.generator()) - - if len(_dataFrames) == 0: - return pd.DataFrame(columns=[], index=None) - elif len(_dataFrames) == 1: - return _dataFrames[0] - else: - return _dataFrames + return _parser.generator() # private helper for c @staticmethod From ea99f370c4ef65dbf802cf80ed6a5edb5ad688ae Mon Sep 17 00:00:00 2001 From: NG KA HEI Date: Tue, 30 Jun 2020 18:15:14 +0800 Subject: [PATCH 2/3] Update CHANGELOG.md --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c7a0bb39..fc0570c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ 1. [#112](https://github.com/influxdata/influxdb-client-python/pull/113): Support timestamp with different timezone in _convert_timestamp 1. [#120](https://github.com/influxdata/influxdb-client-python/pull/120): ciso8601 is an optional dependency and has to be installed separably +### API +1. [#121](https://github.com/influxdata/influxdb-client-python/pull/121): Added query_data_frame_stream method + ### Bug Fixes 1. [#117](https://github.com/influxdata/influxdb-client-python/pull/117): Fixed appending default tags for single Point From 29a9c33f8d0e7959e519276107174545cc42f087 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Bedn=C3=A1=C5=99?= Date: Tue, 30 Jun 2020 12:18:46 +0200 Subject: [PATCH 3/3] docs: update changelog --- CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fc0570c9..a571e52e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,6 @@ ### Features 1. [#112](https://github.com/influxdata/influxdb-client-python/pull/113): Support timestamp with different timezone in _convert_timestamp 1. [#120](https://github.com/influxdata/influxdb-client-python/pull/120): ciso8601 is an optional dependency and has to be installed separably - -### API 1. [#121](https://github.com/influxdata/influxdb-client-python/pull/121): Added query_data_frame_stream method ### Bug Fixes pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy