Refine
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from influxdb_client import InfluxDBClient, BucketsApi, WriteApi, OrganizationsApi, Point, QueryApi, WriteOptions
|
||||
from influxdb_client import InfluxDBClient, BucketsApi, WriteApi, OrganizationsApi, Point, QueryApi, WriteOptions, DeleteApi
|
||||
from typing import List, Dict
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from influxdb_client.client.write_api import SYNCHRONOUS, ASYNCHRONOUS
|
||||
@@ -3489,7 +3489,29 @@ def upload_cleaned_SCADA_data_to_influxdb(file_path: str, bucket: str="SCADA_dat
|
||||
write_api.close()
|
||||
client.close()
|
||||
|
||||
# 2025/05/05 DingZQ
|
||||
# 删除某一天的数据
|
||||
def delete_data(delete_date: str, bucket: str) -> None:
|
||||
"""
|
||||
删除某一天的数据
|
||||
:param delete_date: 删除的日期,格式为 'YYYY-MM-DD'
|
||||
:param bucket: 选择要删除数据的bucket
|
||||
:return:
|
||||
"""
|
||||
client = get_new_client()
|
||||
if not client.ping():
|
||||
print("{} -- Failed to connect to InfluxDB.".format(datetime.now().strftime('%Y-%m-%d %H:%M:%S')))
|
||||
|
||||
start_time = (datetime.strptime(delete_date, "%Y-%m-%d") - timedelta(days=1)).replace(hour=16, minute=0, second=0, tzinfo=timezone.utc).isoformat()
|
||||
stop_time = datetime.strptime(delete_date, "%Y-%m-%d").replace(hour=15, minute=59, second=59, tzinfo=timezone.utc).isoformat()
|
||||
|
||||
# 构造删除谓词(InfluxDB Delete API 要求的 SQL-like 语句)
|
||||
# 注意:字段名用 _field,measurement 用 _measurement,标签直接写标签名
|
||||
predicate = f'date="{delete_date}"'
|
||||
|
||||
delete_api: DeleteApi = client.delete_api()
|
||||
delete_api.delete(start=start_time, stop=stop_time, predicate=predicate, bucket=bucket)
|
||||
|
||||
|
||||
# 示例调用
|
||||
if __name__ == "__main__":
|
||||
@@ -3618,7 +3640,10 @@ if __name__ == "__main__":
|
||||
# print(leakage)
|
||||
|
||||
# 示例:upload_cleaned_SCADA_data_to_influxdb
|
||||
upload_cleaned_SCADA_data_to_influxdb(file_path='./标准cleaned_demand_data.csv')
|
||||
# upload_cleaned_SCADA_data_to_influxdb(file_path='./标准cleaned_demand_data.csv')
|
||||
|
||||
# 示例:delete_data
|
||||
delete_data(delete_date='2025-05-04', bucket='SCADA_data')
|
||||
|
||||
# 示例:query_cleaned_SCADA_data_by_device_ID_and_timerange
|
||||
# result = query_cleaned_SCADA_data_by_device_ID_and_timerange(query_ids_list=['9485'], start_time='2024-03-24T00:00:00+08:00',
|
||||
|
||||
Reference in New Issue
Block a user