mdbq 3.2.6__py3-none-any.whl → 3.2.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 +7 -7
- mdbq/aggregation/query_data.py +20 -11
- mdbq/mysql/mysql.py +16 -6
- {mdbq-3.2.6.dist-info → mdbq-3.2.8.dist-info}/METADATA +1 -1
- {mdbq-3.2.6.dist-info → mdbq-3.2.8.dist-info}/RECORD +7 -7
- {mdbq-3.2.6.dist-info → mdbq-3.2.8.dist-info}/WHEEL +0 -0
- {mdbq-3.2.6.dist-info → mdbq-3.2.8.dist-info}/top_level.txt +0 -0
mdbq/aggregation/aggregation.py
CHANGED
@@ -1272,19 +1272,19 @@ def cut_as_year_month(as_month=False):
|
|
1272
1272
|
|
1273
1273
|
|
1274
1274
|
if __name__ == '__main__':
|
1275
|
-
cut_as_year_month(as_month=False)
|
1275
|
+
# cut_as_year_month(as_month=False)
|
1276
1276
|
|
1277
1277
|
# username = 'root'
|
1278
1278
|
# password = ''
|
1279
1279
|
# host = ''
|
1280
1280
|
# port = ''
|
1281
1281
|
#
|
1282
|
-
#
|
1283
|
-
|
1284
|
-
|
1285
|
-
|
1286
|
-
|
1287
|
-
|
1282
|
+
# 上传 1 个文件到数据库
|
1283
|
+
one_file_to_mysql(
|
1284
|
+
file=r'/Users/xigua/Downloads/城市等级.csv',
|
1285
|
+
db_name='属性设置3',
|
1286
|
+
table_name='城市等级',
|
1287
|
+
)
|
1288
1288
|
|
1289
1289
|
|
1290
1290
|
# col = 1
|
mdbq/aggregation/query_data.py
CHANGED
@@ -6,6 +6,7 @@ from mdbq.mysql import s_query
|
|
6
6
|
from mdbq.aggregation import optimize_data
|
7
7
|
from mdbq.config import myconfig
|
8
8
|
from mdbq.config import products
|
9
|
+
from mdbq.config import set_support
|
9
10
|
import datetime
|
10
11
|
from dateutil.relativedelta import relativedelta
|
11
12
|
import pandas as pd
|
@@ -18,10 +19,12 @@ import os
|
|
18
19
|
import time
|
19
20
|
import calendar
|
20
21
|
import concurrent.futures
|
22
|
+
import traceback
|
21
23
|
|
22
24
|
"""
|
23
25
|
|
24
26
|
"""
|
27
|
+
error_file = os.path.join(set_support.SetSupport(dirname='support').dirname, 'error.log')
|
25
28
|
username, password, host, port, service_database = None, None, None, None, None,
|
26
29
|
if socket.gethostname() in ['xigua_lx', 'xigua1', 'MacBookPro']:
|
27
30
|
conf = myconfig.main()
|
@@ -65,6 +68,12 @@ class MysqlDatasQuery:
|
|
65
68
|
return func(*args, **kwargs)
|
66
69
|
except Exception as e:
|
67
70
|
print(f'{func.__name__}, {e}') # 将异常信息返回
|
71
|
+
with open(error_file, 'a') as f:
|
72
|
+
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
73
|
+
f.write(f'\n{now}\n')
|
74
|
+
# f.write(f'报错的文件:\n{e.__traceback__.tb_frame.f_globals["__file__"]}\n') # 发生异常所在的文件
|
75
|
+
traceback.print_exc(file=open(error_file, 'a')) # 返回完整的堆栈信息
|
76
|
+
print(f'更多信息请查看日志文件: {error_file}')
|
68
77
|
|
69
78
|
return wrapper
|
70
79
|
|
@@ -3227,10 +3236,10 @@ def main(days=150, months=3):
|
|
3227
3236
|
|
3228
3237
|
|
3229
3238
|
if __name__ == '__main__':
|
3230
|
-
main(
|
3231
|
-
|
3232
|
-
|
3233
|
-
)
|
3239
|
+
# main(
|
3240
|
+
# days=150, # 清理聚合数据的日期长度
|
3241
|
+
# months=3 # 生成聚合数据的长度
|
3242
|
+
# )
|
3234
3243
|
|
3235
3244
|
# query_list = [query1, query2]
|
3236
3245
|
# # 使用 ThreadPoolExecutor 来并行运行
|
@@ -3244,10 +3253,10 @@ if __name__ == '__main__':
|
|
3244
3253
|
# ),
|
3245
3254
|
# }
|
3246
3255
|
|
3247
|
-
#
|
3248
|
-
|
3249
|
-
|
3250
|
-
|
3251
|
-
|
3252
|
-
|
3253
|
-
|
3256
|
+
# 3. 清理聚合数据
|
3257
|
+
optimize_data.op_data(
|
3258
|
+
db_name_lists=['聚合数据'],
|
3259
|
+
days=180, # 清理聚合数据的日期长度
|
3260
|
+
is_mongo=False,
|
3261
|
+
is_mysql=True,
|
3262
|
+
)
|
mdbq/mysql/mysql.py
CHANGED
@@ -12,7 +12,9 @@ import pandas as pd
|
|
12
12
|
from sqlalchemy import create_engine
|
13
13
|
import os
|
14
14
|
import calendar
|
15
|
+
from mdbq.config import set_support
|
15
16
|
from mdbq.config import myconfig
|
17
|
+
import traceback
|
16
18
|
|
17
19
|
warnings.filterwarnings('ignore')
|
18
20
|
"""
|
@@ -25,6 +27,7 @@ warnings.filterwarnings('ignore')
|
|
25
27
|
3. 小数必须使用 decimal, 禁止 float 和 double, 因为计算精度差异,后续需要聚合数据时会引发很多问题
|
26
28
|
|
27
29
|
"""
|
30
|
+
error_file = os.path.join(set_support.SetSupport(dirname='support').dirname, 'error.log')
|
28
31
|
|
29
32
|
|
30
33
|
def is_valid_date(date_string):
|
@@ -112,6 +115,12 @@ class MysqlUpload:
|
|
112
115
|
return func(*args, **kwargs)
|
113
116
|
except Exception as e:
|
114
117
|
print(f'{func.__name__}, {e}') # 将异常信息返回
|
118
|
+
with open(error_file, 'a') as f:
|
119
|
+
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
120
|
+
f.write(f'\n{now}\n')
|
121
|
+
# f.write(f'报错的文件:\n{e.__traceback__.tb_frame.f_globals["__file__"]}\n') # 发生异常所在的文件
|
122
|
+
traceback.print_exc(file=open(error_file, 'a')) # 返回完整的堆栈信息
|
123
|
+
print(f'更多信息请查看日志文件: {error_file}')
|
115
124
|
|
116
125
|
return wrapper
|
117
126
|
|
@@ -196,6 +205,7 @@ class MysqlUpload:
|
|
196
205
|
else:
|
197
206
|
sql = f"ALTER TABLE `{table_name}` ADD COLUMN `{col}` {dtypes[col]} NOT NULL;"
|
198
207
|
# sql = f"ALTER TABLE `{table_name}` ADD COLUMN `{col}` {dtypes[col]} NOT NULL;"
|
208
|
+
# print(sql)
|
199
209
|
cursor.execute(sql)
|
200
210
|
print(f"添加列: {col}({dtypes[col]})") # 添加列并指定数据类型
|
201
211
|
|
@@ -861,6 +871,12 @@ class OptimizeDatas:
|
|
861
871
|
return func(*args, **kwargs)
|
862
872
|
except Exception as e:
|
863
873
|
print(f'{func.__name__}, {e}') # 将异常信息返回
|
874
|
+
with open(error_file, 'a') as f:
|
875
|
+
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
876
|
+
f.write(f'\n{now}\n')
|
877
|
+
# f.write(f'报错的文件:\n{e.__traceback__.tb_frame.f_globals["__file__"]}\n') # 发生异常所在的文件
|
878
|
+
traceback.print_exc(file=open(error_file, 'a')) # 返回完整的堆栈信息
|
879
|
+
print(f'更多信息请查看日志文件: {error_file}')
|
864
880
|
|
865
881
|
return wrapper
|
866
882
|
|
@@ -1162,9 +1178,3 @@ if __name__ == '__main__':
|
|
1162
1178
|
data = conf['Windows']['xigua_lx']['mysql']['local']
|
1163
1179
|
username, password, host, port = data['username'], data['password'], data['host'], data['port']
|
1164
1180
|
print(username, password, host, port)
|
1165
|
-
|
1166
|
-
df = pd.read_excel('/Users/xigua/Downloads/66563857.xlsx')
|
1167
|
-
ss = MysqlUpload(username, password, host, port)
|
1168
|
-
res, data = ss.convert_df_dtypes(df=df)
|
1169
|
-
print(data)
|
1170
|
-
print(res)
|
@@ -1,11 +1,11 @@
|
|
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=X4BETpYM_WxBjMZRW1nKZ3Ex2VoNtjRUj7A1MD074gA,74699
|
5
5
|
mdbq/aggregation/df_types.py,sha256=U9i3q2eRPTDY8qAPTw7irzu-Tlg4CIySW9uYro81wdk,8125
|
6
6
|
mdbq/aggregation/mysql_types.py,sha256=YTGyrF9vcRgfkQbpT-e-JdJ7c7VF1dDHgyx9YZRES8w,10934
|
7
7
|
mdbq/aggregation/optimize_data.py,sha256=RXIv7cACCgYyehAxMjUYi_S7rVyjIwXKWMaM3nduGtA,3068
|
8
|
-
mdbq/aggregation/query_data.py,sha256=
|
8
|
+
mdbq/aggregation/query_data.py,sha256=EGRiub-oowM7ImxeYrfpXouv_rlLJFnweYB03Bv1og8,146034
|
9
9
|
mdbq/aggregation/query_data_bak.py,sha256=r1FU0C4zjXln7oVSrRkElh4Ehl-9mYhGcq57jLbViUA,104071
|
10
10
|
mdbq/aggregation/query_data_bak20241124.py,sha256=oY95ZK3qt3Wx9pdZKZ5cvDh45Yi5yGj1kl8G6riumHA,144513
|
11
11
|
mdbq/bdup/__init__.py,sha256=AkhsGk81SkG1c8FqDH5tRq-8MZmFobVbN60DTyukYTY,28
|
@@ -28,7 +28,7 @@ mdbq/log/mylogger.py,sha256=oaT7Bp-Hb9jZt52seP3ISUuxVcI19s4UiqTeouScBO0,3258
|
|
28
28
|
mdbq/mongo/__init__.py,sha256=SILt7xMtQIQl_m-ik9WLtJSXIVf424iYgCfE_tnQFbw,13
|
29
29
|
mdbq/mongo/mongo.py,sha256=v9qvrp6p1ZRWuPpbSilqveiE0FEcZF7U5xUPI0RN4xs,31880
|
30
30
|
mdbq/mysql/__init__.py,sha256=A_DPJyAoEvTSFojiI2e94zP0FKtCkkwKP1kYUCSyQzo,11
|
31
|
-
mdbq/mysql/mysql.py,sha256=
|
31
|
+
mdbq/mysql/mysql.py,sha256=apmrfk7Sx3WXFXvEsNtU_VQ5ybgXdZvQEP8QptOkces,63788
|
32
32
|
mdbq/mysql/recheck_mysql.py,sha256=rgTpvDMWYTyEn7UQdlig-pdXDluTgiU8JG6lkMh8DV0,8665
|
33
33
|
mdbq/mysql/s_query.py,sha256=MbIprZ4yJDAZ9AahZPzl7hqS695Vs0P-AJNwAtA_EEc,9287
|
34
34
|
mdbq/mysql/year_month_day.py,sha256=VgewoE2pJxK7ErjfviL_SMTN77ki8GVbTUcao3vFUCE,1523
|
@@ -46,7 +46,7 @@ mdbq/req_post/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
|
|
46
46
|
mdbq/req_post/req_tb.py,sha256=qg7pet73IgKGmCwxaeUyImJIoeK_pBQT9BBKD7fkBNg,36160
|
47
47
|
mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
|
48
48
|
mdbq/spider/aikucun.py,sha256=48isoL6nEi_uniV-ja2HwYAI7O8D1i1goO4SzBwDGSU,19036
|
49
|
-
mdbq-3.2.
|
50
|
-
mdbq-3.2.
|
51
|
-
mdbq-3.2.
|
52
|
-
mdbq-3.2.
|
49
|
+
mdbq-3.2.8.dist-info/METADATA,sha256=_RMYkup1WgIb9RBJcVoL-Sv7KWrznuOnN4W1xmT-CCs,243
|
50
|
+
mdbq-3.2.8.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
|
51
|
+
mdbq-3.2.8.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
|
52
|
+
mdbq-3.2.8.dist-info/RECORD,,
|
File without changes
|
File without changes
|