mdbq 2.0.4__py3-none-any.whl → 2.0.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -39,10 +39,11 @@ class DatabaseUpdate:
39
39
  self.datas: list = [] # 带更新进数据库的数据集合
40
40
  self.start_date = '2022-01-01' # 日期表的起始日期
41
41
 
42
- def cleaning(self, is_move=True):
42
+ def cleaning(self, is_move=True, is_except=[]):
43
43
  """
44
44
  数据清洗, 返回包含 数据库名, 集合名称, 和 df 主体
45
45
  修改 cleaning 时,要同步 support 下的 标题对照表.csv
46
+ is_except: 需要排除不做处理的文件或文件夹
46
47
  """
47
48
  if not os.path.exists(self.path):
48
49
  print(f'1.1.0 初始化时传入了不存在的目录: {self.path}')
@@ -62,6 +63,16 @@ class DatabaseUpdate:
62
63
  check_remove_file = False # 设置这个参数的目的: 避免误删其他文件, 不是本程序数据清洗覆盖的文件不做干预
63
64
  if '~$' in name or '.DS' in name or '.localized' in name or '.ini' in name or '$RECYCLE.BIN' in name or 'Icon' in name:
64
65
  continue
66
+ is_continue = False
67
+ if is_except:
68
+ for item in is_except:
69
+ if item in os.path.join(root, name):
70
+ # print(name)
71
+ is_continue = True
72
+ break
73
+ if is_continue: # 需要排除不做处理的文件或文件夹
74
+ continue
75
+
65
76
  db_name = None # 初始化/重置变量,避免进入下一个循环
66
77
  collection_name = None
67
78
  for data in datas: # 根据标题对照表适配 db_name 和 collection_name
@@ -755,7 +766,15 @@ class DatabaseUpdate:
755
766
  for name in files:
756
767
  if '~$' in name or '.DS' in name or '.localized' in name or '.jpg' in name or '.png' in name:
757
768
  continue
758
-
769
+ is_continue = False
770
+ if is_except:
771
+ for item in is_except:
772
+ if item in os.path.join(root, name):
773
+ # print(name)
774
+ is_continue = True
775
+ break
776
+ if is_continue: # 需要排除不做处理的文件或文件夹
777
+ continue
759
778
  db_name = None # 初始化/重置变量,避免进入下一个循环
760
779
  collection_name = None
761
780
  for data in datas: # 根据标题对照表适配 db_name 和 collection_name
@@ -57,7 +57,7 @@ def restart_mongodb():
57
57
  subprocess.call(command, shell=True)
58
58
 
59
59
 
60
- def op_data(db_name_lists, service_databases=None, days: int = 63):
60
+ def op_data(db_name_lists, service_databases=None, days: int = 63, is_mongo=True, is_mysql=True):
61
61
  """ service_databases 这个参数暂时没有用 """
62
62
  # for service_database in service_databases:
63
63
  # for service_name, database in service_database.items():
@@ -71,42 +71,45 @@ def op_data(db_name_lists, service_databases=None, days: int = 63):
71
71
 
72
72
  if socket.gethostname() == 'xigua_lx' or socket.gethostname() == 'xigua1' or socket.gethostname() == 'Mac2.local':
73
73
  # mongodb
74
- username, password, host, port = get_myconf.select_config_values(
75
- target_service='home_lx',
76
- database='mongodb',
77
- )
78
- m = mongo.OptimizeDatas(username=username, password=password, host=host, port=port)
79
- m.db_name_lists = db_name_lists
80
- m.days = days
81
- m.optimize_list()
82
- if m.client:
83
- m.client.close()
84
- print(f'已关闭 mongodb 连接')
74
+ if is_mongo:
75
+ username, password, host, port = get_myconf.select_config_values(
76
+ target_service='home_lx',
77
+ database='mongodb',
78
+ )
79
+ m = mongo.OptimizeDatas(username=username, password=password, host=host, port=port)
80
+ m.db_name_lists = db_name_lists
81
+ m.days = days
82
+ m.optimize_list()
83
+ if m.client:
84
+ m.client.close()
85
+ print(f'已关闭 mongodb 连接')
85
86
 
86
- if socket.gethostname() == 'xigua_lx':
87
- restart_mongodb() # mongodb 太占内存了, 重启服务, 释放内存
87
+ if socket.gethostname() == 'xigua_lx':
88
+ restart_mongodb() # mongodb 太占内存了, 重启服务, 释放内存
88
89
 
89
90
  # Mysql
90
- username, password, host, port = get_myconf.select_config_values(
91
- target_service='home_lx',
92
- database='mysql',
93
- )
94
- s = mysql.OptimizeDatas(username=username, password=password, host=host, port=port)
95
- s.db_name_lists = db_name_lists
96
- s.days = days
97
- s.optimize_list()
91
+ if is_mysql:
92
+ username, password, host, port = get_myconf.select_config_values(
93
+ target_service='home_lx',
94
+ database='mysql',
95
+ )
96
+ s = mysql.OptimizeDatas(username=username, password=password, host=host, port=port)
97
+ s.db_name_lists = db_name_lists
98
+ s.days = days
99
+ s.optimize_list()
98
100
 
99
101
  elif socket.gethostname() == 'company':
100
102
  # Mysql
101
- username, password, host, port = get_myconf.select_config_values(
102
- target_service='company',
103
- database='mysql',
104
- )
105
- s = mysql.OptimizeDatas(username=username, password=password, host=host, port=port)
106
- s.db_name_lists = db_name_lists
107
- s.days = days
108
- s.optimize_list()
103
+ if is_mysql:
104
+ username, password, host, port = get_myconf.select_config_values(
105
+ target_service='company',
106
+ database='mysql',
107
+ )
108
+ s = mysql.OptimizeDatas(username=username, password=password, host=host, port=port)
109
+ s.db_name_lists = db_name_lists
110
+ s.days = days
111
+ s.optimize_list()
109
112
 
110
113
 
111
114
  if __name__ == '__main__':
112
- op_data(db_name_lists=['聚合数据'], service_databases=[{'company': 'mysql'}], days=3650)
115
+ op_data(db_name_lists=['聚合数据'], service_databases=[{'company': 'mysql'}], days=3650, is_mongo=True, is_mysql=True)
mdbq/clean/data_clean.py CHANGED
@@ -67,7 +67,7 @@ class DataClean:
67
67
  _df.to_csv(os.path.join(_save_paths, filenames), encoding=encoding, index=False, header=True)
68
68
 
69
69
  # @try_except
70
- def change_and_sort(self, path=None):
70
+ def change_and_sort(self, path=None, is_except=[]):
71
71
  """数据转换"""
72
72
  if not path:
73
73
  path = self.path
@@ -87,6 +87,16 @@ class DataClean:
87
87
  if '~$' in name or '.DS' in name or '.localized' in name or '.jpg' in name or '.png' in name:
88
88
  continue
89
89
 
90
+ is_continue = False
91
+ if is_except:
92
+ for item in is_except:
93
+ if item in os.path.join(root, name):
94
+ # print(name)
95
+ is_continue = True
96
+ break
97
+ if is_continue: # 需要排除不做处理的文件或文件夹
98
+ continue
99
+
90
100
  try:
91
101
  encoding = self.get_encoding(file_path=pathlib.Path(root, name))
92
102
  # ----------------- 推广报表 分割线 -----------------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mdbq
3
- Version: 2.0.4
3
+ Version: 2.0.6
4
4
  Home-page: https://pypi.org/project/mdbsql
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -1,15 +1,15 @@
1
1
  mdbq/__init__.py,sha256=Il5Q9ATdX8yXqVxtP_nYqUhExzxPC_qk_WXQ_4h0exg,16
2
2
  mdbq/__version__.py,sha256=y9Mp_8x0BCZSHsdLT_q5tX9wZwd5QgqrSIENLrb6vXA,62
3
3
  mdbq/aggregation/__init__.py,sha256=EeDqX2Aml6SPx8363J-v1lz0EcZtgwIBYyCJV6CcEDU,40
4
- mdbq/aggregation/aggregation.py,sha256=DAwLaTJCqolPz3QNoQnmWb_DTLc0HtvjprhkO8vhVpE,73940
4
+ mdbq/aggregation/aggregation.py,sha256=TiSMZHa9F_f6iMptzCVdukWhCzXzpcYIh3lN61P-i94,74825
5
5
  mdbq/aggregation/df_types.py,sha256=U9i3q2eRPTDY8qAPTw7irzu-Tlg4CIySW9uYro81wdk,8125
6
6
  mdbq/aggregation/mysql_types.py,sha256=DQYROALDiwjJzjhaJfIIdnsrNs11i5BORlj_v6bp67Y,11062
7
- mdbq/aggregation/optimize_data.py,sha256=u2Kl_MFtZueXJ57ycy4H2OhXD431RctUYJYCl637uT0,4176
7
+ mdbq/aggregation/optimize_data.py,sha256=Wis40oL04M7E1pkvgNPjyVFAUe-zgjimjIVAikxYY8Y,4418
8
8
  mdbq/aggregation/query_data.py,sha256=qBNjGTxaQl6rg2-_jlJKGz_sop9UVgoNj5z75XGl_iQ,72379
9
9
  mdbq/bdup/__init__.py,sha256=AkhsGk81SkG1c8FqDH5tRq-8MZmFobVbN60DTyukYTY,28
10
10
  mdbq/bdup/bdup.py,sha256=LAV0TgnQpc-LB-YuJthxb0U42_VkPidzQzAagan46lU,4234
11
11
  mdbq/clean/__init__.py,sha256=A1d6x3L27j4NtLgiFV5TANwEkLuaDfPHDQNrPBbNWtU,41
12
- mdbq/clean/data_clean.py,sha256=CTnybgn5mMGzQ5dKJ0Hh-iwV1qehbaBHRFtttX9AO1M,102758
12
+ mdbq/clean/data_clean.py,sha256=hyhLsX5UEmj2ROVScQMRdR52vUuuLE5uSG5QJ60gtQU,103176
13
13
  mdbq/company/__init__.py,sha256=qz8F_GsP_pMB5PblgJAUAMjasuZbOEp3qQOCB39E8f0,21
14
14
  mdbq/company/copysh.py,sha256=VUaaJPXPYPHWwnkdK77PWz_dAXZyEmYBA9Df1yROHAc,17764
15
15
  mdbq/config/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
@@ -36,7 +36,7 @@ mdbq/pbix/__init__.py,sha256=Trtfaynu9RjoTyLLYBN2xdRxTvm_zhCniUkVTAYwcjo,24
36
36
  mdbq/pbix/pbix_refresh.py,sha256=JUjKW3bNEyoMVfVfo77UhguvS5AWkixvVhDbw4_MHco,2396
37
37
  mdbq/pbix/refresh_all.py,sha256=0uAnBKCd5cx5FLTkawN1GV9yi87rfyMgYal5LABtumQ,7186
38
38
  mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
39
- mdbq-2.0.4.dist-info/METADATA,sha256=JFnnucukEykE5vpzO7TcoA9fqXt3brI1pDJARIKn9wU,245
40
- mdbq-2.0.4.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
41
- mdbq-2.0.4.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
42
- mdbq-2.0.4.dist-info/RECORD,,
39
+ mdbq-2.0.6.dist-info/METADATA,sha256=hqNt7JUo-6t9oYpg0FXAl-SV6wbluV8bD9mR7hzVJoM,245
40
+ mdbq-2.0.6.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
41
+ mdbq-2.0.6.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
42
+ mdbq-2.0.6.dist-info/RECORD,,
File without changes