mdbq 1.9.6__py3-none-any.whl → 1.9.8__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 +19 -9
- mdbq/aggregation/df_types.py +6 -0
- mdbq/clean/data_clean.py +3 -1
- mdbq/company/copysh.py +1 -0
- {mdbq-1.9.6.dist-info → mdbq-1.9.8.dist-info}/METADATA +1 -1
- {mdbq-1.9.6.dist-info → mdbq-1.9.8.dist-info}/RECORD +8 -8
- {mdbq-1.9.6.dist-info → mdbq-1.9.8.dist-info}/WHEEL +0 -0
- {mdbq-1.9.6.dist-info → mdbq-1.9.8.dist-info}/top_level.txt +0 -0
mdbq/aggregation/aggregation.py
CHANGED
@@ -596,13 +596,15 @@ class DatabaseUpdate:
|
|
596
596
|
continue
|
597
597
|
df.insert(loc=0, column='日期', value=start_date)
|
598
598
|
check_remove_file = True
|
599
|
-
elif name.endswith('.xls') and 'JD店铺日报_店铺' in name:
|
599
|
+
elif name.endswith('.xls') and ('JD店铺日报_店铺' in name or '店铺_20' in name):
|
600
600
|
# 京东 自助报表 店铺日报
|
601
601
|
df = pd.read_excel(os.path.join(root, name), header=0)
|
602
602
|
if len(df) == 0:
|
603
603
|
print(f'{name} 报表数据为空')
|
604
604
|
check_remove_file = True
|
605
605
|
continue
|
606
|
+
if '访客数-全部渠道' not in df.columns.tolist(): # 识别是否真的京东日报
|
607
|
+
continue
|
606
608
|
df['日期'] = df['日期'].apply(
|
607
609
|
lambda x: '-'.join(re.findall(r'(\d{4})(\d{2})(\d{2})', str(x))[0])
|
608
610
|
)
|
@@ -723,6 +725,9 @@ class DatabaseUpdate:
|
|
723
725
|
except Exception as e:
|
724
726
|
print(f'{name}, {e}')
|
725
727
|
if len(df) > 0:
|
728
|
+
if not db_name or not collection_name:
|
729
|
+
print(f'从本地csv文件中,根据文件标题匹配数据库名和数据表,结果存在空值,db_name: {db_name}, collection_name: {collection_name}')
|
730
|
+
# else:
|
726
731
|
# 将数据传入 self.datas 等待更新进数据库
|
727
732
|
self.datas.append(
|
728
733
|
{
|
@@ -761,14 +766,19 @@ class DatabaseUpdate:
|
|
761
766
|
# print(f'{name}/{sheet4} 跳过')
|
762
767
|
continue
|
763
768
|
df.insert(loc=1, column='报表类型', value=sheet4)
|
764
|
-
|
765
|
-
|
766
|
-
'
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
769
|
+
if not db_name or not collection_name:
|
770
|
+
print(
|
771
|
+
f'从本地csv文件中,根据文件标题匹配数据库名和数据表,结果存在空值,db_name: {db_name}, collection_name: {collection_name}')
|
772
|
+
else:
|
773
|
+
# 将数据传入 self.datas 等待更新进数据库
|
774
|
+
self.datas.append(
|
775
|
+
{
|
776
|
+
'数据库名': db_name,
|
777
|
+
'集合名称': collection_name,
|
778
|
+
'数据主体': df,
|
779
|
+
'文件名': name,
|
780
|
+
}
|
781
|
+
)
|
772
782
|
if is_move:
|
773
783
|
os.remove(os.path.join(root, name))
|
774
784
|
|
mdbq/aggregation/df_types.py
CHANGED
@@ -118,6 +118,12 @@ class DataTypes:
|
|
118
118
|
|
119
119
|
def as_json_file(self):
|
120
120
|
""" 保存为本地 json 文件 """
|
121
|
+
self.datas = {k: 'null' if v is None else v for k, v in self.datas.items()} # 替换字典中,值存在空值的值
|
122
|
+
self.datas = {k if k != None else 'null': v for k, v in self.datas.items()} # 替换字典中,键存在空值的键
|
123
|
+
if 'null' in str(self.datas):
|
124
|
+
print(f'self.datas 数据中存在空值,可能有未匹配的数据库名或数据表名,请检查 《标题对照表.csv》,已取消写入 df_types.json ')
|
125
|
+
print('self.datas: ', self.datas)
|
126
|
+
return
|
121
127
|
with open(self.json_file, 'w', encoding='utf-8_sig') as f:
|
122
128
|
json.dump(
|
123
129
|
self.datas,
|
mdbq/clean/data_clean.py
CHANGED
@@ -895,13 +895,15 @@ class DataClean:
|
|
895
895
|
m.df_to_mysql(df=df, db_name='京东数据1', tabel_name='京东_竞店监控_日数据')
|
896
896
|
os.remove(os.path.join(root, name))
|
897
897
|
|
898
|
-
elif name.endswith('.xls') and '店铺' in name:
|
898
|
+
elif name.endswith('.xls') and ('JD店铺日报_店铺' in name or '店铺_20' in name):
|
899
899
|
# 京东 自助报表 店铺日报
|
900
900
|
df = pd.read_excel(os.path.join(root, name), header=0)
|
901
901
|
if len(df) == 0:
|
902
902
|
print(f'{name} 报表数据为空')
|
903
903
|
os.remove(os.path.join(root, name))
|
904
904
|
continue
|
905
|
+
if '访客数-全部渠道' not in df.columns.tolist(): # 识别是否真的京东日报
|
906
|
+
continue
|
905
907
|
df['日期'] = df['日期'].apply(
|
906
908
|
lambda x: '-'.join(re.findall(r'(\d{4})(\d{2})(\d{2})', str(x))[0])
|
907
909
|
)
|
mdbq/company/copysh.py
CHANGED
@@ -1,17 +1,17 @@
|
|
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=
|
5
|
-
mdbq/aggregation/df_types.py,sha256=
|
4
|
+
mdbq/aggregation/aggregation.py,sha256=ZDMYHZXuVx9MIiTYDjGUHLNBvj98h6-q6x2BrlBdaNw,72786
|
5
|
+
mdbq/aggregation/df_types.py,sha256=U9i3q2eRPTDY8qAPTw7irzu-Tlg4CIySW9uYro81wdk,8125
|
6
6
|
mdbq/aggregation/mysql_types.py,sha256=DQYROALDiwjJzjhaJfIIdnsrNs11i5BORlj_v6bp67Y,11062
|
7
7
|
mdbq/aggregation/optimize_data.py,sha256=u2Kl_MFtZueXJ57ycy4H2OhXD431RctUYJYCl637uT0,4176
|
8
8
|
mdbq/aggregation/query_data.py,sha256=32NjVVYLnfFkzD8TflmNVhpdQTLRRUrb9toMGApSOC8,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=
|
12
|
+
mdbq/clean/data_clean.py,sha256=y83uqOyM6nL0d3ClUqYMjE23ghBEkhz9uv19qrxA8NA,100980
|
13
13
|
mdbq/company/__init__.py,sha256=qz8F_GsP_pMB5PblgJAUAMjasuZbOEp3qQOCB39E8f0,21
|
14
|
-
mdbq/company/copysh.py,sha256=
|
14
|
+
mdbq/company/copysh.py,sha256=VUaaJPXPYPHWwnkdK77PWz_dAXZyEmYBA9Df1yROHAc,17764
|
15
15
|
mdbq/config/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
|
16
16
|
mdbq/config/get_myconf.py,sha256=-CFEW0dQh4OIwVgwK-cL0eVp1LN3PjJgN89d4P5TB9I,6011
|
17
17
|
mdbq/config/products.py,sha256=vIK8DJ-F3XXwvNPK-4OJq2tZITNlL6Sub8QBdoOng8U,5676
|
@@ -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.8.dist-info/METADATA,sha256=ZtwrpFJzCLnABnvOHyrVFqDt346SgQIh2SsqIaioSF8,245
|
40
|
+
mdbq-1.9.8.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
|
41
|
+
mdbq-1.9.8.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
|
42
|
+
mdbq-1.9.8.dist-info/RECORD,,
|
File without changes
|
File without changes
|