mdbq 1.8.8__tar.gz → 1.9.0__tar.gz

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.
Files changed (46) hide show
  1. {mdbq-1.8.8 → mdbq-1.9.0}/PKG-INFO +1 -1
  2. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/aggregation/aggregation.py +9 -3
  3. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/aggregation/query_data.py +1 -1
  4. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/company/copysh.py +2 -2
  5. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/other/sku_picture.py +51 -6
  6. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq.egg-info/PKG-INFO +1 -1
  7. {mdbq-1.8.8 → mdbq-1.9.0}/setup.py +1 -1
  8. {mdbq-1.8.8 → mdbq-1.9.0}/README.txt +0 -0
  9. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/__init__.py +0 -0
  10. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/__version__.py +0 -0
  11. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/aggregation/__init__.py +0 -0
  12. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/aggregation/df_types.py +0 -0
  13. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/aggregation/mysql_types.py +0 -0
  14. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/aggregation/optimize_data.py +0 -0
  15. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/bdup/__init__.py +0 -0
  16. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/bdup/bdup.py +0 -0
  17. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/clean/__init__.py +0 -0
  18. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/clean/data_clean.py +0 -0
  19. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/company/__init__.py +0 -0
  20. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/config/__init__.py +0 -0
  21. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/config/get_myconf.py +0 -0
  22. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/config/products.py +0 -0
  23. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/config/set_support.py +0 -0
  24. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/config/update_conf.py +0 -0
  25. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/dataframe/__init__.py +0 -0
  26. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/dataframe/converter.py +0 -0
  27. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/log/__init__.py +0 -0
  28. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/log/mylogger.py +0 -0
  29. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/mongo/__init__.py +0 -0
  30. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/mongo/mongo.py +0 -0
  31. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/mysql/__init__.py +0 -0
  32. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/mysql/mysql.py +0 -0
  33. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/mysql/s_query.py +0 -0
  34. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/mysql/year_month_day.py +0 -0
  35. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/other/__init__.py +0 -0
  36. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/other/porxy.py +0 -0
  37. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/other/pov_city.py +0 -0
  38. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/other/ua_sj.py +0 -0
  39. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/pbix/__init__.py +0 -0
  40. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/pbix/pbix_refresh.py +0 -0
  41. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/pbix/refresh_all.py +0 -0
  42. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq/spider/__init__.py +0 -0
  43. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq.egg-info/SOURCES.txt +0 -0
  44. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq.egg-info/dependency_links.txt +0 -0
  45. {mdbq-1.8.8 → mdbq-1.9.0}/mdbq.egg-info/top_level.txt +0 -0
  46. {mdbq-1.8.8 → mdbq-1.9.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mdbq
3
- Version: 1.8.8
3
+ Version: 1.9.0
4
4
  Home-page: https://pypi.org/project/mdbsql
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -326,6 +326,7 @@ class DatabaseUpdate:
326
326
  df['省份'] = pov
327
327
  df['省+市'] = df[['省份', '城市']].apply(lambda x: f'{x["省份"]}-{x["城市"]}', axis=1)
328
328
  df.replace('NAN', 0, inplace=True)
329
+ df['笔单价'] = df.apply(lambda x: 0 if x['销售量'] == 0 else 0 if x['销售量'] == '0' else x['笔单价'], axis=1)
329
330
  elif name.endswith('csv') and 'order' in name:
330
331
  # 生意经,订单数据,仅限月数据
331
332
  pattern = re.findall(r'(.*)(\d{4})(\d{2})(\d{2})-(\d{4})(\d{2})(\d{2})', name)
@@ -378,6 +379,11 @@ class DatabaseUpdate:
378
379
  df.replace(to_replace=['--'], value='', regex=False, inplace=True)
379
380
  df = df[df['人群规模'] != '']
380
381
  if len(df) == 0:
382
+ if is_move:
383
+ try:
384
+ os.remove(os.path.join(root, name)) # 是否移除原文件
385
+ except Exception as e:
386
+ print(f'{name}, {e}')
381
387
  continue
382
388
  elif name.endswith('.csv') and '客户_客户概况_画像' in name:
383
389
  df = pd.read_csv(os.path.join(root, name), encoding='utf-8_sig', header=0, na_filter=False)
@@ -1109,10 +1115,10 @@ if __name__ == '__main__':
1109
1115
  # database='mysql'
1110
1116
  # )
1111
1117
 
1112
- db_name = '推广数据2'
1113
- table_name = '营销场景报表'
1118
+ db_name = '生意经2'
1119
+ table_name = '省份城市分析'
1114
1120
  upload_dir(
1115
- path='/Users/xigua/数据中心/原始文件2/推广报表/营销场景报表',
1121
+ path='/Users/xigua/数据中心/原始文件2/生意经/地域分布',
1116
1122
  db_name=db_name,
1117
1123
  collection_name=table_name,
1118
1124
  dbs={'mysql': True, 'mongodb': False},
@@ -1483,7 +1483,7 @@ def main():
1483
1483
 
1484
1484
 
1485
1485
  if __name__ == '__main__':
1486
- data_aggregation(service_databases=[{'company': 'mysql'}], months=1) # 正常的聚合所有数据
1486
+ data_aggregation(service_databases=[{'company': 'mysql'}], months=24) # 正常的聚合所有数据
1487
1487
  # data_aggregation_one(service_databases=[{'company': 'mysql'}], months=1) # 单独聚合某一个数据库,具体库进函数编辑
1488
1488
  # optimize_data.op_data(service_databases=[{'company': 'mysql'}], days=3650) # 立即启动对聚合数据的清理工作
1489
1489
 
@@ -256,8 +256,8 @@ class TbFiles:
256
256
  r = refresh_all.RefreshAll()
257
257
  for file in files:
258
258
  if file.endswith('.xlsx'):
259
- now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
260
- print(f'正在刷新 excel: {file}')
259
+ # now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
260
+ # print(f'{now}正在刷新 excel: {file}')
261
261
  r.refresh_excel2(excel_file=os.path.join(excel_path, file))
262
262
  time.sleep(10)
263
263
 
@@ -434,6 +434,7 @@ class SkuPicture:
434
434
  '推荐卖点': desc,
435
435
  '是否新增': data['是否新增'],
436
436
  '类目': leimu,
437
+ '更新时间': datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
437
438
  }
438
439
  )
439
440
  except Exception as e:
@@ -454,7 +455,8 @@ class SkuPicture:
454
455
 
455
456
  if results:
456
457
  self.df = pd.concat(results)
457
- self.df = self.df[['sku图片链接'] != '0']
458
+ self.df.to_csv('C:\\Users\\Administrator\\Downloads\\商品id_编码_图片_临时文件.csv', encoding='utf-8_sig', index=False, header=True)
459
+ self.df = self.df[df['sku图片链接'] != '0']
458
460
 
459
461
  def read_df(self):
460
462
  path = os.path.join(self.path, self.filename)
@@ -483,6 +485,7 @@ class DownloadPicture():
483
485
  self.filename = ''
484
486
  if not os.path.exists(self.save_path):
485
487
  os.mkdir(self.save_path)
488
+ self.local_file = ''
486
489
 
487
490
  def get_df_from_service(self):
488
491
  start_date, end_date = self.months_data(num=self.months)
@@ -501,7 +504,14 @@ class DownloadPicture():
501
504
  projection=projection,
502
505
  )
503
506
 
507
+ def get_df_from_local(self):
508
+ if not os.path.isfile(self.local_file):
509
+ return
510
+ self.df = pd.read_excel(self.local_file, header=0, engine='openpyxl')
511
+
504
512
  def download_data(self):
513
+ if not os.path.exists(self.save_path):
514
+ os.mkdir(self.save_path)
505
515
  dict_data = self.df.to_dict('records')
506
516
  num = len(dict_data)
507
517
  i = 0
@@ -525,6 +535,31 @@ class DownloadPicture():
525
535
  i += 1
526
536
  time.sleep(0.5)
527
537
 
538
+ def download_data_from_local(self):
539
+ if not os.path.exists(self.save_path):
540
+ os.mkdir(self.save_path)
541
+ dict_data = self.df.to_dict('records')
542
+ num = len(dict_data)
543
+ i = 0
544
+ for data in dict_data:
545
+ url = data['商品图片']
546
+ self.filename = f'{data['商品id']}_{data['商家编码']}.jpg'
547
+ if os.path.isfile(os.path.join(self.save_path, self.filename)):
548
+ i += 1
549
+ continue
550
+ if 'https' not in url:
551
+ i += 1
552
+ continue
553
+
554
+ print(f'正在下载: {i}/{num}, {data['商品id']}')
555
+ self.headers.update({'User-Agent': ua_sj.get_ua()})
556
+ res = requests.get(url, headers=self.headers) # 下载图片到内存
557
+ # 保存图片到本地文件夹
558
+ with open(os.path.join(self.save_path, self.filename), 'wb') as f:
559
+ f.write(res.content)
560
+ i += 1
561
+ time.sleep(0.5)
562
+
528
563
  @staticmethod
529
564
  def months_data(num=0, end_date=None):
530
565
  """ 读取近 num 个月的数据, 0 表示读取当月的数据 """
@@ -708,20 +743,30 @@ def main(service_name, database):
708
743
  def main2(service_name, database):
709
744
  """ 从数据库读取数据,并下载图片到本地 """
710
745
  d = DownloadPicture(service_name=service_name)
711
- d.save_path = '/Users/xigua/Downloads/sku图片链接' # 下载图片到本地时的存储位置
712
- d.get_df_from_service()
713
- d.download_data()
746
+ # d.save_path = '/Users/xigua/Downloads/sku图片链接' # 下载图片到本地时的存储位置
747
+ # d.get_df_from_service() # 从数据库读取数据
748
+ # d.download_data()
749
+
750
+ d.save_path = '/Users/xigua/Downloads/商品id_商家编码_图片' # 下载图片到本地时的存储位置
751
+ d.local_file = '/Users/xigua/Downloads/商品id图片对照表.xlsx'
752
+ d.get_df_from_local()
753
+ d.download_data_from_local()
714
754
 
715
755
 
716
756
  def main3():
757
+ """ """
717
758
  p = InsertPicture()
718
759
  p.filename = 'test.xlsx'
719
760
  # p.header = 1
720
761
  p.insert_data()
721
762
 
722
763
 
764
+ def main4():
765
+ """ 从 文件中读取图片链接并下载到本地 """
766
+
767
+
723
768
 
724
769
  if __name__ == '__main__':
725
- main(service_name='home_lx', database='mysql')
726
- # main2(service_name='home_lx', database='mysql')
770
+ # main(service_name='home_lx', database='mysql')
771
+ main2(service_name='home_lx', database='mysql')
727
772
  # main3()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mdbq
3
- Version: 1.8.8
3
+ Version: 1.9.0
4
4
  Home-page: https://pypi.org/project/mdbsql
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -3,7 +3,7 @@
3
3
  from setuptools import setup, find_packages
4
4
 
5
5
  setup(name='mdbq',
6
- version='1.8.8',
6
+ version='1.9.0',
7
7
  author='xigua, ',
8
8
  author_email="2587125111@qq.com",
9
9
  url='https://pypi.org/project/mdbsql',
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes