mdbq 2.9.9__tar.gz → 3.0.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.
- {mdbq-2.9.9 → mdbq-3.0.0}/PKG-INFO +1 -1
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/aggregation/query_data.py +20 -20
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/mysql/mysql.py +0 -6
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq.egg-info/PKG-INFO +1 -1
- {mdbq-2.9.9 → mdbq-3.0.0}/setup.py +1 -1
- {mdbq-2.9.9 → mdbq-3.0.0}/README.txt +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/__init__.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/__version__.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/aggregation/__init__.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/aggregation/aggregation.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/aggregation/df_types.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/aggregation/mysql_types.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/aggregation/optimize_data.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/aggregation/query_data_bak.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/bdup/__init__.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/bdup/bdup.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/clean/__init__.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/clean/clean_upload.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/clean/data_clean.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/company/__init__.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/company/copysh.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/config/__init__.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/config/get_myconf.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/config/myconfig.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/config/products.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/config/set_support.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/config/update_conf.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/dataframe/__init__.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/dataframe/converter.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/log/__init__.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/log/mylogger.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/mongo/__init__.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/mongo/mongo.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/mysql/__init__.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/mysql/recheck_mysql.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/mysql/s_query.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/mysql/year_month_day.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/other/__init__.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/other/porxy.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/other/pov_city.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/other/sku_picture.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/other/ua_sj.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/pbix/__init__.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/pbix/pbix_refresh.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/pbix/refresh_all.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/pbix/refresh_all_old.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/req_post/__init__.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/req_post/req_tb.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/spider/__init__.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq/spider/aikucun.py +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq.egg-info/SOURCES.txt +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq.egg-info/dependency_links.txt +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/mdbq.egg-info/top_level.txt +0 -0
- {mdbq-2.9.9 → mdbq-3.0.0}/setup.cfg +0 -0
@@ -1027,8 +1027,8 @@ class MysqlDatasQuery:
|
|
1027
1027
|
) # 制作其他聚合表
|
1028
1028
|
if not self.update_service:
|
1029
1029
|
return
|
1030
|
-
min_date = df['日期'].min()
|
1031
|
-
max_date = df['日期'].max()
|
1030
|
+
min_date = pd.to_datetime(df['日期'].min()).strftime('%Y-%m-%d')
|
1031
|
+
max_date = pd.to_datetime(df['日期'].max()).strftime('%Y-%m-%d')
|
1032
1032
|
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
1033
1033
|
print(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
1034
1034
|
m_engine.df_to_mysql(
|
@@ -2393,17 +2393,6 @@ class MysqlDatasQuery:
|
|
2393
2393
|
pic = [item['数据主体'] for item in self.pf_datas if item['集合名称'] == '商品id图片对照表'][0]
|
2394
2394
|
cost = [item['数据主体'] for item in self.pf_datas if item['集合名称'] == '商品成本'][0]
|
2395
2395
|
|
2396
|
-
# pic['商品id'] = pic['商品id'].astype(str)
|
2397
|
-
# # 1. id 编码表合并图片表
|
2398
|
-
# df = pd.merge(idbm, pic, how='left', left_on='宝贝id', right_on='商品id')
|
2399
|
-
# df = df[['宝贝id', '商家编码', '商品图片']]
|
2400
|
-
# # 2. df 合并商品成本表
|
2401
|
-
# df = pd.merge(df, cost, how='left', left_on='商家编码', right_on='款号')
|
2402
|
-
# df = df[['宝贝id', '商家编码', '商品图片', '成本价']]
|
2403
|
-
# # 3. 推广表合并 df
|
2404
|
-
# df = pd.merge(tg, df, how='left', left_on='商品id', right_on='宝贝id')
|
2405
|
-
# df.drop(labels='宝贝id', axis=1, inplace=True)
|
2406
|
-
|
2407
2396
|
# 由于推广表之前根据场景、营销渠道等聚合的,这里不含这些字段所以要进一步聚合
|
2408
2397
|
tg = tg.groupby(
|
2409
2398
|
['日期', '店铺名称', '商品id'],
|
@@ -2414,7 +2403,6 @@ class MysqlDatasQuery:
|
|
2414
2403
|
'直接成交金额': ('直接成交金额', np.sum),
|
2415
2404
|
}
|
2416
2405
|
)
|
2417
|
-
syj.to_csv('/Users/xigua/Downloads/ddd.csv', index=False, header=True, encoding='utf-8_sig')
|
2418
2406
|
# 4. 生意经,推广表聚合
|
2419
2407
|
if bb_tg is True:
|
2420
2408
|
# 生意经合并推广表,完整的数据表,包含全店所有推广、销售数据
|
@@ -2463,6 +2451,7 @@ class MysqlDatasQuery:
|
|
2463
2451
|
df['商品毛利'] = df.apply(lambda x: x['销售额'] - x['商品成本'], axis=1)
|
2464
2452
|
df['毛利率'] = df.apply(lambda x: round((x['销售额'] - x['商品成本']) / x['销售额'], 4) if x['销售额'] > 0 else 0, axis=1)
|
2465
2453
|
df['盈亏'] = df.apply(lambda x: x['商品毛利'] - x['花费'], axis=1)
|
2454
|
+
[df[col].apply(lambda x: '0' if str(x) == '' else x) for col in df.columns.tolist()]
|
2466
2455
|
set_typ = {
|
2467
2456
|
'日期': 'date',
|
2468
2457
|
'店铺名称': 'varchar(100)',
|
@@ -2575,6 +2564,7 @@ class MysqlDatasQuery:
|
|
2575
2564
|
'自然流量曝光量': int,
|
2576
2565
|
}
|
2577
2566
|
)
|
2567
|
+
[df[col].apply(lambda x: '0' if str(x) == '' else x) for col in df.columns.tolist()]
|
2578
2568
|
set_typ = {
|
2579
2569
|
'日期': 'date',
|
2580
2570
|
'店铺名称': 'varchar(100)',
|
@@ -2648,7 +2638,7 @@ class MysqlDatasQuery:
|
|
2648
2638
|
df['毛利率'] = df.apply(
|
2649
2639
|
lambda x: round((x['成交金额'] - x['商品成本']) / x['成交金额'], 4) if x['成交金额'] > 0 else 0, axis=1)
|
2650
2640
|
df['盈亏'] = df.apply(lambda x: x['商品毛利'] - x['花费'], axis=1)
|
2651
|
-
|
2641
|
+
[df[col].apply(lambda x: '0' if str(x) == '' else x) for col in df.columns.tolist()]
|
2652
2642
|
set_typ = {
|
2653
2643
|
'日期': 'date',
|
2654
2644
|
'跟单sku_id': 'bigint',
|
@@ -2717,6 +2707,17 @@ def date_table():
|
|
2717
2707
|
host=host,
|
2718
2708
|
port=port,
|
2719
2709
|
)
|
2710
|
+
set_typ = {
|
2711
|
+
'日期': 'date',
|
2712
|
+
'年': 'varchar(50)',
|
2713
|
+
'月': 'varchar(50)',
|
2714
|
+
'日': 'int',
|
2715
|
+
'年月': 'varchar(50)',
|
2716
|
+
'月日': 'varchar(50)',
|
2717
|
+
'第n周': 'varchar(50)',
|
2718
|
+
'索引': 'int',
|
2719
|
+
'月索引': 'int',
|
2720
|
+
}
|
2720
2721
|
m.df_to_mysql(
|
2721
2722
|
df=df,
|
2722
2723
|
db_name='聚合数据',
|
@@ -2726,7 +2727,7 @@ def date_table():
|
|
2726
2727
|
drop_duplicates=False, # 值为 True 时检查重复数据再插入,反之直接上传,会比较慢
|
2727
2728
|
count=None,
|
2728
2729
|
filename=None, # 用来追踪处理进度
|
2729
|
-
set_typ=
|
2730
|
+
set_typ=set_typ,
|
2730
2731
|
)
|
2731
2732
|
|
2732
2733
|
|
@@ -2750,7 +2751,7 @@ def main(days=100, months=3):
|
|
2750
2751
|
)
|
2751
2752
|
|
2752
2753
|
# 3. 数据聚合
|
2753
|
-
query_(months=
|
2754
|
+
query_(months=months)
|
2754
2755
|
time.sleep(60)
|
2755
2756
|
|
2756
2757
|
# 4. 清理聚合数据
|
@@ -2797,6 +2798,5 @@ def query_(months=1, less_dict=[]):
|
|
2797
2798
|
|
2798
2799
|
|
2799
2800
|
if __name__ == '__main__':
|
2800
|
-
main(days=100, months=3)
|
2801
|
-
|
2802
|
-
# query_(months=1)
|
2801
|
+
# main(days=100, months=3)
|
2802
|
+
query_(months=1)
|
@@ -6,19 +6,13 @@ import re
|
|
6
6
|
import time
|
7
7
|
from functools import wraps
|
8
8
|
import warnings
|
9
|
-
from unittest.mock import inplace
|
10
|
-
|
11
9
|
import pymysql
|
12
10
|
import numpy as np
|
13
11
|
import pandas as pd
|
14
|
-
from markdown_it.rules_inline.backticks import regex
|
15
12
|
from sqlalchemy import create_engine
|
16
13
|
import os
|
17
14
|
import calendar
|
18
15
|
from mdbq.config import myconfig
|
19
|
-
from mdbq.config import set_support
|
20
|
-
from mdbq.dataframe import converter
|
21
|
-
from mdbq.aggregation import mysql_types
|
22
16
|
|
23
17
|
warnings.filterwarnings('ignore')
|
24
18
|
"""
|
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
|
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
|