liudawei 10 miesięcy temu
rodzic
commit
161c079b3e
3 zmienionych plików z 29 dodań i 26 usunięć
  1. 2 2
      db-wind/Arg.py
  2. 19 16
      db-wind/inputData.py
  3. 8 8
      db-wind/main.py

+ 2 - 2
db-wind/Arg.py

@@ -11,6 +11,6 @@ class Arg:
         # 机头编号
         self.turbineloc = [i for i in range(1, 16)]
 
-        self.begin = '2022-01-01'
-        self.end = '2022-12-31'
+        self.begin = '2023-03-01'
+        self.end = '2024-03-31'
 

+ 19 - 16
db-wind/inputData.py

@@ -70,6 +70,7 @@ class DataBase(object):
         self.end_stamp = timestr_to_timestamp(str(self.end))
         self.database = arg.database
         self.towerloc = arg.towerloc
+        self.turbineloc = arg.turbineloc
         self.dataloc = arg.dataloc
 
     def clear_data(self):
@@ -253,18 +254,20 @@ class DataBase(object):
         :param database:
         :return:
         """
-        number = self.opt.usable_power['turbine_id']
-        # 机头数据
-        engine = self.create_database()
+        for number in self.turbineloc:
+            # number = self.opt.usable_power['turbine_id']
+            # 机头数据
+            engine = self.create_database()
 
-        self.logger.info("导出风机{}的数据".format(number))
-        sql_turbine = "select C_TIME, C_WS, C_WD, C_ACTIVE_POWER from t_wind_turbine_status_data " \
-                      "WHERE C_EQUIPMENT_NO=" + str(number) + " and C_TIME between '{}' and '{}'".format(self.begin, self.end)    # + " and C_WS>0 and C_ACTIVE_POWER>0"
-        turbine = self.exec_sql(sql_turbine, engine)
-        turbine = cleaning(turbine, 'cdq', cols=['C_WS', 'C_ACTIVE_POWER'], dup=False)
-        turbine = turbine[turbine['C_TIME'].dt.strftime('%M').isin(['00', '15', '30', '45'])]
-        # 直接导出所有数据
-        saveData("turbine-{}.csv".format(number), turbine)
+            print("导出风机{}的数据".format(number))
+            sql_turbine = "select C_TIME, C_WS, C_WD, C_ACTIVE_POWER from t_wind_turbine_status_data " \
+                          "WHERE C_EQUIPMENT_NO=" + str(number) + " and C_TIME between '{}' and '{}'".format(self.begin, self.end)    # + " and C_WS>0 and C_ACTIVE_POWER>0"
+            turbine = self.exec_sql(sql_turbine, engine)
+            turbine = cleaning(turbine, 'cdq', cols=['C_WS', 'C_ACTIVE_POWER'], dup=False)
+            turbine['C_TIME'] = pd.to_datetime(turbine['C_TIME'])
+            turbine = turbine[turbine['C_TIME'].dt.strftime('%M').isin(['00', '15', '30', '45'])]
+            # 直接导出所有数据
+            saveData("turbine-15/turbine-{}.csv".format(number), turbine)
 
 
 
@@ -276,12 +279,12 @@ class DataBase(object):
         """
         self.clear_data()
         try:
-            self.get_process_power()
-            self.get_process_dq()
+            # self.get_process_power()
+            # self.get_process_dq()
             # self.get_process_cdq()
-            self.get_process_NWP()
-            self.get_process_tower()
-            # self.get_process_turbine()
+            # self.get_process_NWP()
+            # self.get_process_tower()
+            self.get_process_turbine()
             self.indep_process()
         except Exception as e:
             print("导出数据出错:{}".format(e.args))

+ 8 - 8
db-wind/main.py

@@ -209,14 +209,14 @@ if __name__ == "__main__":
     arg = Arg.Arg()
     db = DataBase(arg=arg)
     db.data_process()
-    # input_dir = "../data_mts/turbine-15"  # 输入文件夹路径
-    # output_dir = "../data_mts/output_clean_csv_files"  # 输出文件夹路径
-    # # 对机头风速连续异常值和-99进行清洗,第三个参数是连续5个值不变以后就认为异常
-    # # 这步会生成一个"output_clean_csv_files"文件夹,里面包含全部单机的数据,存储的机头风速只清理了-99,参数50是风机数量+1,风机参数5就是连续5个点的认为是异常值,全部剔除。
-    # process_csv_files(input_dir, output_dir, 50, 5)
-    # output_dir_time_Merge = "../data_mts/output_filtered_csv_files"
-    # # 这步会生成一个"output_filtered_csv_files"文件夹,在上一步的基础上,对齐了全部风机的时间,只各自保留了交集。
-    # TimeMerge(output_dir,output_dir_time_Merge,50)
+    input_dir = "../data/314/turbine-15"  # 输入文件夹路径
+    output_dir = "../data/314/output_clean_csv_files"  # 输出文件夹路径
+    # 对机头风速连续异常值和-99进行清洗,第三个参数是连续5个值不变以后就认为异常
+    # 这步会生成一个"output_clean_csv_files"文件夹,里面包含全部单机的数据,存储的机头风速只清理了-99,参数50是风机数量+1,风机参数5就是连续5个点的认为是异常值,全部剔除。
+    process_csv_files(input_dir, output_dir, 50, 5)
+    output_dir_time_Merge = "../data/314/output_filtered_csv_files"
+    # 这步会生成一个"output_filtered_csv_files"文件夹,在上一步的基础上,对齐了全部风机的时间,只各自保留了交集。
+    TimeMerge(output_dir,output_dir_time_Merge,50)
     # output_complete_data = "../data_mts/complete_data"
     # 这步会生成一个"complete_data"文件夹,在上一步的基础上,填充了10个时间点之内的缺失。
     # MissingPointProcessing(output_dir_time_Merge,output_complete_data,50,10)