mdbq 1.9.2__py3-none-any.whl → 1.9.3__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 +10 -0
- mdbq/clean/data_clean.py +10 -0
- mdbq/mysql/mysql.py +12 -0
- {mdbq-1.9.2.dist-info → mdbq-1.9.3.dist-info}/METADATA +1 -1
- {mdbq-1.9.2.dist-info → mdbq-1.9.3.dist-info}/RECORD +7 -7
- {mdbq-1.9.2.dist-info → mdbq-1.9.3.dist-info}/WHEEL +1 -1
- {mdbq-1.9.2.dist-info → mdbq-1.9.3.dist-info}/top_level.txt +0 -0
mdbq/aggregation/aggregation.py
CHANGED
@@ -474,10 +474,20 @@ class DatabaseUpdate:
|
|
474
474
|
elif name.endswith('.xlsx') and '搜索分析-排名定位-商品词下排名' in name:
|
475
475
|
# 京东商品词下排名
|
476
476
|
try:
|
477
|
+
pattern = re.findall(r'(\d{4}-\d{2}-\d{2})-(\d{4}-\d{2}-\d{2})', name)
|
478
|
+
if not pattern:
|
479
|
+
continue
|
480
|
+
if pattern[0][0] != pattern[0][1]:
|
481
|
+
print(f'{name}: 检测到数据周期异常,仅支持7天数据')
|
482
|
+
continue
|
477
483
|
df = pd.read_excel(os.path.join(root, name), header=0, engine='openpyxl')
|
478
484
|
if len(df) == 0:
|
479
485
|
print(f'{name} 报表数据为空')
|
480
486
|
continue
|
487
|
+
if len(df.columns.tolist()) < 20:
|
488
|
+
print(f'{name}: 报表可能缺失诊断数据')
|
489
|
+
os.remove(os.path.join(root, name))
|
490
|
+
continue
|
481
491
|
df.rename(columns={'商品的ID': 'skuid'}, inplace=True)
|
482
492
|
for col in ['词人气', '搜索点击率']:
|
483
493
|
if col in df.columns.tolist():
|
mdbq/clean/data_clean.py
CHANGED
@@ -827,6 +827,12 @@ class DataClean:
|
|
827
827
|
os.remove(os.path.join(root, name))
|
828
828
|
elif name.endswith('.xlsx') and '搜索分析-排名定位-商品词下排名' in name:
|
829
829
|
# 京东商品词下排名
|
830
|
+
pattern = re.findall(r'(\d{4}-\d{2}-\d{2})-(\d{4}-\d{2}-\d{2})', name)
|
831
|
+
if not pattern:
|
832
|
+
continue
|
833
|
+
if pattern[0][0] != pattern[0][1]:
|
834
|
+
print(f'{name}: 检测到数据周期异常,仅支持7天数据')
|
835
|
+
continue
|
830
836
|
new_name = os.path.splitext(name)[0] + '.csv'
|
831
837
|
# print(name)
|
832
838
|
df = pd.read_excel(os.path.join(root, name), header=0, engine='openpyxl')
|
@@ -834,6 +840,10 @@ class DataClean:
|
|
834
840
|
print(f'{name} 报表数据为空')
|
835
841
|
os.remove(os.path.join(root, name))
|
836
842
|
continue
|
843
|
+
if len(df.columns.tolist()) < 20:
|
844
|
+
print(f'{name}: 报表可能缺失诊断数据')
|
845
|
+
os.remove(os.path.join(root, name))
|
846
|
+
continue
|
837
847
|
df.rename(columns={'商品的ID': 'skuid'}, inplace=True)
|
838
848
|
df['skuid'] = df['skuid'].apply(lambda x: f'="{x}"' if x and '=' not in str(x) else x)
|
839
849
|
self.save_to_csv(df, root, new_name)
|
mdbq/mysql/mysql.py
CHANGED
@@ -57,6 +57,18 @@ class MysqlUpload:
|
|
57
57
|
}
|
58
58
|
self.filename = None
|
59
59
|
|
60
|
+
@staticmethod
|
61
|
+
def try_except(func): # 在类内部定义一个异常处理方法
|
62
|
+
@wraps(func)
|
63
|
+
def wrapper(*args, **kwargs):
|
64
|
+
try:
|
65
|
+
return func(*args, **kwargs)
|
66
|
+
except Exception as e:
|
67
|
+
print(f'{func.__name__}, {e}') # 将异常信息返回
|
68
|
+
|
69
|
+
return wrapper
|
70
|
+
|
71
|
+
@try_except
|
60
72
|
def df_to_mysql(self, df, table_name, db_name='远程数据源', icm_update=[], service_database={'home_lx': 'mysql'}, move_insert=False, df_sql=False, drop_duplicates=False, filename=None, count=None, json_path=None):
|
61
73
|
"""
|
62
74
|
将 df 写入数据库
|
@@ -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=A_Zy6FtlmrVmjjXaioUecRYVVDpKQHi3Ase-z8nSV14,67166
|
5
5
|
mdbq/aggregation/df_types.py,sha256=oQJS2IBU3_IO6GMgbssHuC2yCjNnbta0QPGrFOwNLnU,7591
|
6
6
|
mdbq/aggregation/mysql_types.py,sha256=DQYROALDiwjJzjhaJfIIdnsrNs11i5BORlj_v6bp67Y,11062
|
7
7
|
mdbq/aggregation/optimize_data.py,sha256=u2Kl_MFtZueXJ57ycy4H2OhXD431RctUYJYCl637uT0,4176
|
@@ -9,7 +9,7 @@ mdbq/aggregation/query_data.py,sha256=8Cc3fj4-lLkQyazOtb-_CePiiCog3omeiaJ577dfZX
|
|
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=
|
12
|
+
mdbq/clean/data_clean.py,sha256=LrnliUyiI_9zwbI4GprDuYS-1XoZmSpI_DK6hn-vg9I,100661
|
13
13
|
mdbq/company/__init__.py,sha256=qz8F_GsP_pMB5PblgJAUAMjasuZbOEp3qQOCB39E8f0,21
|
14
14
|
mdbq/company/copysh.py,sha256=4PGjvmPzvrmstOaAwHQGFXIGCWqqNXZEOYf1QdUvMlI,17762
|
15
15
|
mdbq/config/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
|
@@ -24,7 +24,7 @@ mdbq/log/mylogger.py,sha256=oaT7Bp-Hb9jZt52seP3ISUuxVcI19s4UiqTeouScBO0,3258
|
|
24
24
|
mdbq/mongo/__init__.py,sha256=SILt7xMtQIQl_m-ik9WLtJSXIVf424iYgCfE_tnQFbw,13
|
25
25
|
mdbq/mongo/mongo.py,sha256=v9qvrp6p1ZRWuPpbSilqveiE0FEcZF7U5xUPI0RN4xs,31880
|
26
26
|
mdbq/mysql/__init__.py,sha256=A_DPJyAoEvTSFojiI2e94zP0FKtCkkwKP1kYUCSyQzo,11
|
27
|
-
mdbq/mysql/mysql.py,sha256=
|
27
|
+
mdbq/mysql/mysql.py,sha256=LJJja2S5OWc-3lOHDmsVFJieFM3U69pbyWBEYQVn7P4,44541
|
28
28
|
mdbq/mysql/s_query.py,sha256=fIQvQKPyV7rvSUuxVWXv9S5FmCnIM4GHKconE1Zn5BA,8378
|
29
29
|
mdbq/mysql/year_month_day.py,sha256=VgewoE2pJxK7ErjfviL_SMTN77ki8GVbTUcao3vFUCE,1523
|
30
30
|
mdbq/other/__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-1.9.
|
40
|
-
mdbq-1.9.
|
41
|
-
mdbq-1.9.
|
42
|
-
mdbq-1.9.
|
39
|
+
mdbq-1.9.3.dist-info/METADATA,sha256=gEFZjDAiQ8_FgTxoXwPOdv5UEMcL_so2cCd3yHr3W4A,245
|
40
|
+
mdbq-1.9.3.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
|
41
|
+
mdbq-1.9.3.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
|
42
|
+
mdbq-1.9.3.dist-info/RECORD,,
|
File without changes
|