mdbq 0.4.2__py3-none-any.whl → 0.4.4__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.
- mdbq/aggregation/aggregation.py +4 -8
- mdbq/company/copysh.py +10 -17
- mdbq/config/get_myconf.py +3 -7
- mdbq/config/set_support.py +22 -0
- mdbq/config/update_conf.py +2 -7
- mdbq/mysql/data_types.py +2 -31
- mdbq/mysql/mysql.py +2 -6
- mdbq/pbix/refresh_all.py +4 -3
- {mdbq-0.4.2.dist-info → mdbq-0.4.4.dist-info}/METADATA +1 -1
- {mdbq-0.4.2.dist-info → mdbq-0.4.4.dist-info}/RECORD +12 -11
- {mdbq-0.4.2.dist-info → mdbq-0.4.4.dist-info}/WHEEL +0 -0
- {mdbq-0.4.2.dist-info → mdbq-0.4.4.dist-info}/top_level.txt +0 -0
mdbq/aggregation/aggregation.py
CHANGED
@@ -12,6 +12,7 @@ import json
|
|
12
12
|
from mdbq.mongo import mongo
|
13
13
|
from mdbq.mysql import mysql
|
14
14
|
from mdbq.config import get_myconf
|
15
|
+
from mdbq.config import set_support
|
15
16
|
from mdbq.dataframe import converter
|
16
17
|
import datetime
|
17
18
|
import time
|
@@ -48,12 +49,7 @@ class DataTypes:
|
|
48
49
|
d.dtypes_to_file()
|
49
50
|
"""
|
50
51
|
def __init__(self):
|
51
|
-
|
52
|
-
self.path = f'C:\\同步空间\\BaiduSyncdisk\\原始文件2'
|
53
|
-
elif platform.system() == 'Darwin':
|
54
|
-
self.path = f'/Users/{getpass.getuser()}/数据中心/原始文件2'
|
55
|
-
else:
|
56
|
-
self.path = 'Downloads/数据中心/原始文件2' # 不可用
|
52
|
+
self.path = set_support.SetSupport(dirname='support').dirname
|
57
53
|
if not os.path.exists(self.path):
|
58
54
|
os.mkdir(self.path)
|
59
55
|
self.json_file = os.path.join(self.path, 'data_types.json')
|
@@ -127,8 +123,8 @@ class DataTypes:
|
|
127
123
|
def dtypes_to_file(self):
|
128
124
|
""" 保存为本地 json 文件 """
|
129
125
|
# print(self.datas)
|
130
|
-
with open(self.json_file, 'w', encoding='utf-8_sig') as
|
131
|
-
json.dump(self.datas,
|
126
|
+
with open(self.json_file, 'w', encoding='utf-8_sig') as f:
|
127
|
+
json.dump(self.datas, f, ensure_ascii=False, sort_keys=True, indent=4)
|
132
128
|
time.sleep(1)
|
133
129
|
|
134
130
|
|
mdbq/company/copysh.py
CHANGED
@@ -17,6 +17,8 @@ from mdbq.aggregation import query_data
|
|
17
17
|
from mdbq.aggregation import optimize_data
|
18
18
|
from mdbq.config import update_conf
|
19
19
|
from mdbq.config import get_myconf
|
20
|
+
from mdbq.config import set_support
|
21
|
+
from mdbq.mysql import mysql
|
20
22
|
warnings.filterwarnings('ignore')
|
21
23
|
|
22
24
|
|
@@ -25,16 +27,12 @@ class TbFiles:
|
|
25
27
|
用于在公司台式机中 定时同步pandas数据源文件到共享
|
26
28
|
"""
|
27
29
|
def __init__(self):
|
28
|
-
if platform.system() == 'Windows':
|
29
|
-
support_path = os.path.join('C:\\同步空间\\BaiduSyncdisk', '自动0备份\\py\\数据更新')
|
30
|
-
elif platform.system() == 'Darwin':
|
31
|
-
support_path = os.path.join('/Users', getpass.getuser(), '数据中心/自动0备份/py/数据更新')
|
32
|
-
else:
|
33
|
-
support_path = os.path.join('数据中心/自动0备份/py/数据更新')
|
34
30
|
|
35
|
-
|
36
|
-
|
37
|
-
self.
|
31
|
+
support_path = set_support.SetSupport(dirname='support').dirname
|
32
|
+
|
33
|
+
self.my_conf = os.path.join(support_path, '.copysh_conf')
|
34
|
+
self.path1 = os.path.join(support_path, 'tb_list.txt')
|
35
|
+
self.path2 = os.path.join(support_path, 'cp_list.txt')
|
38
36
|
self.d_path = None
|
39
37
|
self.data_path = None
|
40
38
|
self.share_path = None
|
@@ -268,13 +266,8 @@ class TbFiles:
|
|
268
266
|
|
269
267
|
class UpdateMysql:
|
270
268
|
def __init__(self):
|
271
|
-
|
272
|
-
|
273
|
-
elif platform.system() == 'Darwin':
|
274
|
-
support_path = os.path.join('/Users', getpass.getuser(), '数据中心/自动0备份/py/数据更新')
|
275
|
-
else:
|
276
|
-
support_path = os.path.join('数据中心/自动0备份/py/数据更新')
|
277
|
-
self.my_conf = os.path.join(support_path, 'support', '.copysh_conf')
|
269
|
+
support_path = set_support.SetSupport(dirname='support').dirname
|
270
|
+
self.my_conf = os.path.join(support_path, '.copysh_conf')
|
278
271
|
self.ch_record = False
|
279
272
|
self.d_path = None
|
280
273
|
|
@@ -354,4 +347,4 @@ if __name__ == '__main__':
|
|
354
347
|
dp = aggregation.DatabaseUpdate(path='')
|
355
348
|
# dp.new_unzip(is_move=True)
|
356
349
|
# dp.cleaning(is_move=True) # 公司台式机需要移除
|
357
|
-
dp.upload_df(service_databases=[{'company': 'mysql'}])
|
350
|
+
# dp.upload_df(service_databases=[{'company': 'mysql'}])
|
mdbq/config/get_myconf.py
CHANGED
@@ -5,13 +5,14 @@ import socket
|
|
5
5
|
import configparser
|
6
6
|
import os
|
7
7
|
import sys
|
8
|
+
from posixpath import dirname
|
8
9
|
from urllib import parse
|
10
|
+
from mdbq.config import set_support
|
9
11
|
|
10
12
|
|
11
13
|
class MyConf:
|
12
14
|
"""
|
13
15
|
读取配置文件信息
|
14
|
-
理论上,在本程序的根目录需要有一个文件夹 support/.myconf 配置文件放在其下
|
15
16
|
"""
|
16
17
|
def __init__(self, path='support'):
|
17
18
|
self.top_path = os.path.realpath(os.path.dirname(sys.argv[0])) # 程序运行目录, 打包时使用
|
@@ -42,12 +43,7 @@ def select_config_values(target_service, database, path=None):
|
|
42
43
|
database: 指向: mongodb, mysql
|
43
44
|
"""
|
44
45
|
if not path:
|
45
|
-
|
46
|
-
path = os.path.join('/Users', getpass.getuser(), '数据中心/自动0备份/py/数据更新/support')
|
47
|
-
elif platform.system() == 'Windows':
|
48
|
-
path = os.path.join('C:\\同步空间\\BaiduSyncdisk\\自动0备份\\py\\数据更新\\support')
|
49
|
-
else:
|
50
|
-
path = os.path.join('/Users', getpass.getuser(), 'support')
|
46
|
+
path = set_support.SetSupport(dirname='support').dirname
|
51
47
|
|
52
48
|
m = MyConf(path=path)
|
53
49
|
options = []
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# -*- coding: UTF-8 –*-
|
2
|
+
import platform
|
3
|
+
import getpass
|
4
|
+
|
5
|
+
"""
|
6
|
+
专门用来设置 support 文件夹路径
|
7
|
+
support 文件夹包含很多配置类文件,是程序必不可少的依赖
|
8
|
+
"""
|
9
|
+
class SetSupport:
|
10
|
+
def __init__(self, dirname):
|
11
|
+
self.dirname = dirname
|
12
|
+
if platform.system() == 'Windows':
|
13
|
+
self.dirname = f'C:\\同步空间\\BaiduSyncdisk\\自动0备份\\py\\数据更新\\support'
|
14
|
+
elif platform.system() == 'Darwin':
|
15
|
+
self.dirname = f'/Users/{getpass.getuser()}/数据中心/自动0备份/py/数据更新/support'
|
16
|
+
else:
|
17
|
+
self.dirname = '数据中心/数据更新/support' # 不可用
|
18
|
+
|
19
|
+
|
20
|
+
if __name__ == '__main__':
|
21
|
+
s = SetSupport(dirname='support').dirname
|
22
|
+
print(s)
|
mdbq/config/update_conf.py
CHANGED
@@ -4,6 +4,7 @@ import getpass
|
|
4
4
|
import configparser
|
5
5
|
import os
|
6
6
|
from urllib import parse
|
7
|
+
from mdbq.config import set_support
|
7
8
|
"""
|
8
9
|
文件被 copysh.py / all-datas.py 调用, update_config 函数
|
9
10
|
更新完成后修改 conf 中值为 True
|
@@ -13,15 +14,9 @@ from urllib import parse
|
|
13
14
|
class UpdateConf:
|
14
15
|
"""
|
15
16
|
读取配置文件信息
|
16
|
-
理论上,在本程序的根目录需要有一个文件夹 support/.myconf 配置文件放在其下
|
17
17
|
"""
|
18
18
|
def __init__(self):
|
19
|
-
|
20
|
-
self.path = os.path.join('/Users', getpass.getuser(), '数据中心/自动0备份/py/数据更新/support')
|
21
|
-
elif platform.system() == 'Windows':
|
22
|
-
self.path = os.path.join('C:\\同步空间\\BaiduSyncdisk\\自动0备份\\py\\数据更新\\support')
|
23
|
-
else:
|
24
|
-
self.path = os.path.join('/Users', getpass.getuser(), 'support')
|
19
|
+
self.path = set_support.SetSupport(dirname='support').dirname
|
25
20
|
self.section = 'database' # 默认 文件头标记
|
26
21
|
self.filename = None
|
27
22
|
self.conf_file = None
|
mdbq/mysql/data_types.py
CHANGED
@@ -16,6 +16,7 @@ from mdbq.mongo import mongo
|
|
16
16
|
from mdbq.mysql import mysql
|
17
17
|
from mdbq.mysql import s_query
|
18
18
|
from mdbq.config import get_myconf
|
19
|
+
from mdbq.config import set_support
|
19
20
|
from mdbq.dataframe import converter
|
20
21
|
import datetime
|
21
22
|
import time
|
@@ -170,12 +171,7 @@ def mysql_all_dtypes(path = '/Users/xigua/数据中心/自动0备份/py/数据
|
|
170
171
|
更新 mysql 中所有数据库的 dtypes 信息到本地 json
|
171
172
|
"""
|
172
173
|
if not os.path.isdir(path):
|
173
|
-
|
174
|
-
path = os.path.join('/Users', getpass.getuser(), '数据中心/自动0备份/py/数据更新/support')
|
175
|
-
elif platform.system() == 'Windows':
|
176
|
-
path = os.path.join('C:\\同步空间\\BaiduSyncdisk\\自动0备份\\py\\数据更新\\support')
|
177
|
-
else:
|
178
|
-
path = os.path.join('数据中心/数据库导出')
|
174
|
+
path = set_support.SetSupport(dirname='support').dirname
|
179
175
|
|
180
176
|
username, password, host, port = get_myconf.select_config_values(target_service='home_lx', database='mysql')
|
181
177
|
config = {
|
@@ -232,30 +228,5 @@ def mysql_all_dtypes(path = '/Users/xigua/数据中心/自动0备份/py/数据
|
|
232
228
|
d.mysql_dtypes_to_json(db_name=k, tabel_name=v, path=path)
|
233
229
|
|
234
230
|
|
235
|
-
|
236
|
-
def main():
|
237
|
-
""" 示例 """
|
238
|
-
path = '/Users/xigua/数据中心/自动0备份/py/数据更新/support'
|
239
|
-
file = '/Users/xigua/Downloads/baobeitrans-2024-08-21.csv'
|
240
|
-
df = pd.read_csv(file, encoding='utf-8_sig', header=0, na_filter=False)
|
241
|
-
d = DataTypes()
|
242
|
-
|
243
|
-
# 更新一个文件的 dtype 信息到 json 文件
|
244
|
-
d.df_dtypes_to_json(path=path, df=df, db_name='生意经2', collection_name='宝贝指标' )
|
245
|
-
|
246
|
-
# 更新一个数据表的 dtype 信息到 json 文件
|
247
|
-
d.mysql_dtypes_to_json(db_name='生意经2', tabel_name='店铺指标', path=path)
|
248
|
-
|
249
|
-
# 从本地文件中读取 dtype 信息
|
250
|
-
dtypes = d.load_dtypes(cl='mysql', db_name='生意经2', collection_name='店铺指标', path=path)
|
251
|
-
print(dtypes)
|
252
|
-
|
253
231
|
if __name__ == '__main__':
|
254
|
-
# main()
|
255
232
|
mysql_all_dtypes() # 更新 mysql 中所有数据库的 dtypes 信息到本地 json
|
256
|
-
|
257
|
-
# path = '/Users/xigua/数据中心/自动0备份/py/数据更新/support'
|
258
|
-
# d = DataTypes()
|
259
|
-
# # 从本地文件中读取 dtype 信息
|
260
|
-
# dtypes = d.load_dtypes(cl='mysql', db_name='生意经2', collection_name='店铺指标', path=path)
|
261
|
-
# print(dtypes)
|
mdbq/mysql/mysql.py
CHANGED
@@ -13,6 +13,7 @@ from sqlalchemy import create_engine
|
|
13
13
|
import os
|
14
14
|
import calendar
|
15
15
|
from mdbq.config import get_myconf
|
16
|
+
from mdbq.config import set_support
|
16
17
|
from mdbq.dataframe import converter
|
17
18
|
from mdbq.mysql import data_types
|
18
19
|
|
@@ -190,12 +191,7 @@ class MysqlUpload:
|
|
190
191
|
2. json 文件中没有或者缺失部分列信息(利用 convert_dtype_to_sql 函数按指定规则转换缺失列)
|
191
192
|
"""
|
192
193
|
cols = df.columns.tolist()
|
193
|
-
|
194
|
-
path = os.path.join('/Users', getpass.getuser(), '数据中心/自动0备份/py/数据更新/support')
|
195
|
-
elif platform.system() == 'Windows':
|
196
|
-
path = os.path.join('C:\\同步空间\\BaiduSyncdisk\\自动0备份\\py\\数据更新\\support')
|
197
|
-
else:
|
198
|
-
path = os.path.join('/Users', getpass.getuser(), 'support')
|
194
|
+
path = set_support.SetSupport(dirname='support').dirname
|
199
195
|
# json_file = os.path.join(path, 'mysql_types.json')
|
200
196
|
# if os.path.isfile(json_file):
|
201
197
|
d = data_types.DataTypes()
|
mdbq/pbix/refresh_all.py
CHANGED
@@ -6,6 +6,7 @@ import multiprocessing
|
|
6
6
|
import psutil
|
7
7
|
from pywinauto.application import Application
|
8
8
|
import warnings
|
9
|
+
from mdbq.config import set_support
|
9
10
|
|
10
11
|
warnings.filterwarnings('ignore')
|
11
12
|
top_path = os.path.realpath(os.path.dirname(sys.argv[0])) # 程序运行目录, 打包时使用
|
@@ -14,9 +15,9 @@ sys.path.append(top_path)
|
|
14
15
|
|
15
16
|
class RefreshAll:
|
16
17
|
def __init__(self):
|
17
|
-
self.my_conf = os.path.join(
|
18
|
-
self.pbix_path = os.path.join(
|
19
|
-
self.excel_path = os.path.join(
|
18
|
+
self.my_conf = os.path.join(set_support.SetSupport(dirname='support').dirname, '.my_conf')
|
19
|
+
self.pbix_path = os.path.join(set_support.SetSupport(dirname='support').dirname, 'ref_list.txt')
|
20
|
+
self.excel_path = os.path.join(set_support.SetSupport(dirname='support').dirname, 'cp_list.txt')
|
20
21
|
self.run_py_path = 'run_py'
|
21
22
|
self.procname = 'PBIDesktop.exe'
|
22
23
|
|
@@ -1,7 +1,7 @@
|
|
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=
|
4
|
+
mdbq/aggregation/aggregation.py,sha256=6j6gl0fiHuNtepP-NM38h_-1v_3a62AFtH_a55NXjq0,58254
|
5
5
|
mdbq/aggregation/optimize_data.py,sha256=jLAWtxPUuhpo4XTVrhKtT4xK3grs7r73ePQfLhxlu1I,779
|
6
6
|
mdbq/aggregation/query_data.py,sha256=0i9aF63O-E_SGdJ_09-pAOvAGOzJBIQOzv29dLlwruA,24491
|
7
7
|
mdbq/bdup/__init__.py,sha256=AkhsGk81SkG1c8FqDH5tRq-8MZmFobVbN60DTyukYTY,28
|
@@ -9,11 +9,12 @@ mdbq/bdup/bdup.py,sha256=LAV0TgnQpc-LB-YuJthxb0U42_VkPidzQzAagan46lU,4234
|
|
9
9
|
mdbq/clean/__init__.py,sha256=A1d6x3L27j4NtLgiFV5TANwEkLuaDfPHDQNrPBbNWtU,41
|
10
10
|
mdbq/clean/data_clean.py,sha256=33OmeQFl9AW21P5EOay52W_S8DF96H5oHwCg4fSuBxA,85359
|
11
11
|
mdbq/company/__init__.py,sha256=qz8F_GsP_pMB5PblgJAUAMjasuZbOEp3qQOCB39E8f0,21
|
12
|
-
mdbq/company/copysh.py,sha256=
|
12
|
+
mdbq/company/copysh.py,sha256=i8f8YxmUg-EIzQR-ZHTtnC1A5InwsRtY1_sIsCznVp8,16363
|
13
13
|
mdbq/config/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
|
14
|
-
mdbq/config/get_myconf.py,sha256=
|
14
|
+
mdbq/config/get_myconf.py,sha256=ffYNOFD5r-cWf7ljZVugYYCS4BrD31j_2xIUnbTZ9iw,5996
|
15
15
|
mdbq/config/products.py,sha256=tFqSfFSXyZXcof0gAeHq0Ftn4F5i9ucoMyIqZ1H_D2Q,4260
|
16
|
-
mdbq/config/
|
16
|
+
mdbq/config/set_support.py,sha256=LJLEbUFrv8y-GVskiwOI8A9uRaCEAUa0Yfjugt4yLp0,768
|
17
|
+
mdbq/config/update_conf.py,sha256=taL3ZqKgiVWwUrDFuaYhim9a72Hm4BHRhhDscJTziR8,4535
|
17
18
|
mdbq/dataframe/__init__.py,sha256=2HtCN8AdRj53teXDqzysC1h8aPL-mMFy561ESmhehGQ,22
|
18
19
|
mdbq/dataframe/converter.py,sha256=h_BDc6oNmMCVFOUzZJq4nXNGDyJFJyycpWqlyrv7U04,3089
|
19
20
|
mdbq/log/__init__.py,sha256=Mpbrav0s0ifLL7lVDAuePEi1hJKiSHhxcv1byBKDl5E,15
|
@@ -21,8 +22,8 @@ mdbq/log/mylogger.py,sha256=oaT7Bp-Hb9jZt52seP3ISUuxVcI19s4UiqTeouScBO0,3258
|
|
21
22
|
mdbq/mongo/__init__.py,sha256=SILt7xMtQIQl_m-ik9WLtJSXIVf424iYgCfE_tnQFbw,13
|
22
23
|
mdbq/mongo/mongo.py,sha256=q0B4wXDSTtXg_vMN7MPh6zdxl6tT68tM74LmdVNQQek,31892
|
23
24
|
mdbq/mysql/__init__.py,sha256=A_DPJyAoEvTSFojiI2e94zP0FKtCkkwKP1kYUCSyQzo,11
|
24
|
-
mdbq/mysql/data_types.py,sha256=
|
25
|
-
mdbq/mysql/mysql.py,sha256=
|
25
|
+
mdbq/mysql/data_types.py,sha256=OMofgYtNddSJPQmtW4_5tm6f6Ny1P33RtasdikfE7As,9845
|
26
|
+
mdbq/mysql/mysql.py,sha256=Dp9pXINt7H-FFmn84mpvOJQ41Y9i1CqrC_1lcWvYAQM,33607
|
26
27
|
mdbq/mysql/s_query.py,sha256=6-8O9MHhi3-7n3isJ7t2kTCYL2mSBC_HrxSQmXM5UtI,7901
|
27
28
|
mdbq/mysql/year_month_day.py,sha256=VgewoE2pJxK7ErjfviL_SMTN77ki8GVbTUcao3vFUCE,1523
|
28
29
|
mdbq/other/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
|
@@ -31,9 +32,9 @@ mdbq/other/pov_city.py,sha256=AEOmCOzOwyjHi9LLZWPKi6DUuSC-_M163664I52u9qw,21050
|
|
31
32
|
mdbq/other/ua_sj.py,sha256=JuVYzc_5QZ9s_oQSrTHVKkQv4S_7-CWx4oIKOARn_9U,22178
|
32
33
|
mdbq/pbix/__init__.py,sha256=Trtfaynu9RjoTyLLYBN2xdRxTvm_zhCniUkVTAYwcjo,24
|
33
34
|
mdbq/pbix/pbix_refresh.py,sha256=JUjKW3bNEyoMVfVfo77UhguvS5AWkixvVhDbw4_MHco,2396
|
34
|
-
mdbq/pbix/refresh_all.py,sha256=
|
35
|
+
mdbq/pbix/refresh_all.py,sha256=tgy762608HMaXWynbOURIf2UVMuSPybzrDXQnOOcnZU,6102
|
35
36
|
mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
|
36
|
-
mdbq-0.4.
|
37
|
-
mdbq-0.4.
|
38
|
-
mdbq-0.4.
|
39
|
-
mdbq-0.4.
|
37
|
+
mdbq-0.4.4.dist-info/METADATA,sha256=oxBpPHqo0B2xYJGI6qcmcW6E3uPM0oJvCsA4RaqDeeo,245
|
38
|
+
mdbq-0.4.4.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
|
39
|
+
mdbq-0.4.4.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
|
40
|
+
mdbq-0.4.4.dist-info/RECORD,,
|
File without changes
|
File without changes
|