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.
@@ -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
- self.datas.append(
765
- {
766
- '数据库名': db_name,
767
- '集合名称': collection_name,
768
- '数据主体': df,
769
- '文件名': name,
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
 
@@ -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
@@ -377,3 +377,4 @@ if __name__ == '__main__':
377
377
  main()
378
378
  # # 聚合数据,并清理聚合数据
379
379
  # query_data.data_aggregation(service_databases=[{'company': 'mysql'}], months=1)
380
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mdbq
3
- Version: 1.9.6
3
+ Version: 1.9.8
4
4
  Home-page: https://pypi.org/project/mdbsql
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -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=KxAxlhtYtJKjTgWWmff5BlO8PD_FpGmMxzxVYASrFQ8,71917
5
- mdbq/aggregation/df_types.py,sha256=oQJS2IBU3_IO6GMgbssHuC2yCjNnbta0QPGrFOwNLnU,7591
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=VI_f9mQ2tHExBytQCCkajbPVpC0yNEOaVCtySe_OW40,100789
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=4PGjvmPzvrmstOaAwHQGFXIGCWqqNXZEOYf1QdUvMlI,17762
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.6.dist-info/METADATA,sha256=fdqv73OvAg866cfG7kXzJDdg27mvNxWTgFzulIi1B6Y,245
40
- mdbq-1.9.6.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
41
- mdbq-1.9.6.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
42
- mdbq-1.9.6.dist-info/RECORD,,
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