mdbq 1.0.1__tar.gz → 1.0.2__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-1.0.1 → mdbq-1.0.2}/PKG-INFO +1 -1
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/aggregation/mysql_types.py +24 -16
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/aggregation/query_data.py +5 -5
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq.egg-info/PKG-INFO +1 -1
- {mdbq-1.0.1 → mdbq-1.0.2}/setup.py +1 -1
- {mdbq-1.0.1 → mdbq-1.0.2}/README.txt +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/__init__.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/__version__.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/aggregation/__init__.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/aggregation/aggregation.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/aggregation/df_types.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/aggregation/optimize_data.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/bdup/__init__.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/bdup/bdup.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/clean/__init__.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/clean/data_clean.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/company/__init__.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/company/copysh.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/config/__init__.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/config/get_myconf.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/config/products.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/config/set_support.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/config/update_conf.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/dataframe/__init__.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/dataframe/converter.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/log/__init__.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/log/mylogger.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/mongo/__init__.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/mongo/mongo.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/mysql/__init__.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/mysql/data_types_/345/215/263/345/260/206/345/210/240/351/231/244.py" +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/mysql/mysql.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/mysql/s_query.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/mysql/year_month_day.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/other/__init__.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/other/porxy.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/other/pov_city.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/other/ua_sj.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/pbix/__init__.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/pbix/pbix_refresh.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/pbix/refresh_all.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq/spider/__init__.py +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq.egg-info/SOURCES.txt +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq.egg-info/dependency_links.txt +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/mdbq.egg-info/top_level.txt +0 -0
- {mdbq-1.0.1 → mdbq-1.0.2}/setup.cfg +0 -0
@@ -136,19 +136,19 @@ class DataTypes:
|
|
136
136
|
return self.datas[cl][db_name][tabel_name]
|
137
137
|
else:
|
138
138
|
print(f'不存在的集合名信息: {tabel_name}, 文件位置: {self.json_file}')
|
139
|
-
mysql_all_dtypes()
|
139
|
+
mysql_all_dtypes(db_name=db_name, table_name=tabel_name) # 更新一个表的 dtypes
|
140
140
|
return {}
|
141
141
|
else:
|
142
142
|
print(f'不存在的数据库信息: {db_name}, 文件位置: {self.json_file}')
|
143
|
-
mysql_all_dtypes() #
|
143
|
+
mysql_all_dtypes(db_name=db_name) # 更新一个数据库的 dtypes
|
144
144
|
return {}
|
145
145
|
else:
|
146
146
|
print(f'不存在的数据分类: {cl}, 文件位置: {self.json_file}')
|
147
|
-
mysql_all_dtypes() #
|
147
|
+
mysql_all_dtypes() # 更新所有数据库所有数据表的 dtypes 信息到本地 json
|
148
148
|
return {}
|
149
149
|
|
150
150
|
|
151
|
-
def mysql_all_dtypes(path=None):
|
151
|
+
def mysql_all_dtypes(db_name=None, table_name=None, path=None):
|
152
152
|
"""
|
153
153
|
更新笔记本 mysql 中所有数据库的 dtypes 信息到本地 json
|
154
154
|
"""
|
@@ -186,18 +186,18 @@ def mysql_all_dtypes(path=None):
|
|
186
186
|
# '聚合数据',
|
187
187
|
# ]
|
188
188
|
results = []
|
189
|
-
for
|
190
|
-
config.update({'database':
|
189
|
+
for db_ in db_name_lists:
|
190
|
+
config.update({'database': db_}) # 添加更新 config 字段
|
191
191
|
connection = pymysql.connect(**config) # 连接数据库
|
192
192
|
try:
|
193
193
|
with connection.cursor() as cursor:
|
194
|
-
sql = f"SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '{
|
194
|
+
sql = f"SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '{db_}';"
|
195
195
|
sql = "SHOW TABLES;"
|
196
196
|
cursor.execute(sql)
|
197
197
|
table_name = cursor.fetchall()
|
198
198
|
for table in table_name:
|
199
199
|
for k, v in table.items():
|
200
|
-
results.append({
|
200
|
+
results.append({db_: v})
|
201
201
|
except:
|
202
202
|
pass
|
203
203
|
finally:
|
@@ -206,21 +206,28 @@ def mysql_all_dtypes(path=None):
|
|
206
206
|
|
207
207
|
d = DataTypes()
|
208
208
|
for result in results:
|
209
|
-
for
|
210
|
-
|
211
|
-
|
209
|
+
for db_n, tabel_n in result.items():
|
210
|
+
if db_name and table_name: # 下载一个指定的数据表
|
211
|
+
if db_name != db_n or tabel_name != tabel_n:
|
212
|
+
continue
|
213
|
+
elif db_name: # 下载一个数据库的所有数据表
|
214
|
+
if db_name != db_n:
|
215
|
+
continue
|
216
|
+
# 如果 db_name 和 table_name 都不指定,则下载所有数据库的所有数据表
|
217
|
+
print(f'获取列信息 数据库: < {db_n} >, 数据表: < {tabel_n} >')
|
218
|
+
# d.mysql_dtypes_to_json(db_name=db_n, tabel_name=tabel_n, path=path)
|
212
219
|
sq = s_query.QueryDatas(username=username, password=password, host=host, port=port)
|
213
220
|
# 获取数据表的指定列, 返回列表
|
214
221
|
# [{'视频bv号': 'BV1Dm4y1S7BU', '下载进度': 1}, {'视频bv号': 'BV1ov411c7US', '下载进度': 1}]
|
215
|
-
name_type = sq.dtypes_to_list(db_name=
|
222
|
+
name_type = sq.dtypes_to_list(db_name=db_n, tabel_name=tabel_n)
|
216
223
|
if name_type:
|
217
224
|
dtypes = {item['COLUMN_NAME']: item['COLUMN_TYPE'] for item in name_type}
|
218
|
-
dtypes = {'mysql': {
|
225
|
+
dtypes = {'mysql': {db_n: {tabel_n: dtypes}}}
|
219
226
|
d.get_mysql_types(
|
220
227
|
dtypes=dtypes,
|
221
228
|
cl='mysql',
|
222
|
-
db_name=
|
223
|
-
tabel_name=
|
229
|
+
db_name=db_n,
|
230
|
+
tabel_name=tabel_n,
|
224
231
|
is_file_dtype=True
|
225
232
|
)
|
226
233
|
else:
|
@@ -228,4 +235,5 @@ def mysql_all_dtypes(path=None):
|
|
228
235
|
d.as_json_file()
|
229
236
|
|
230
237
|
if __name__ == '__main__':
|
231
|
-
mysql_all_dtypes() # 更新 mysql 中所有数据库的 dtypes 信息到本地 json
|
238
|
+
# mysql_all_dtypes() # 更新 mysql 中所有数据库的 dtypes 信息到本地 json
|
239
|
+
get_one_dtypes(db_name='京东数据2', tabel_name='sku_商品明细')
|
@@ -119,8 +119,8 @@ class MysqlDatasQuery:
|
|
119
119
|
'订单数': 1,
|
120
120
|
'退货量': 1,
|
121
121
|
'退款额': 1,
|
122
|
-
'
|
123
|
-
'
|
122
|
+
'退款额(发货后)': 1,
|
123
|
+
'退货量(发货后)': 1,
|
124
124
|
}
|
125
125
|
df = self.download.data_to_df(
|
126
126
|
db_name='生意经2',
|
@@ -279,8 +279,8 @@ class GroupBy:
|
|
279
279
|
'订单数': ('订单数', np.min),
|
280
280
|
'退货量': ('退货量', np.max),
|
281
281
|
'退款额': ('退款额', np.max),
|
282
|
-
'
|
283
|
-
'
|
282
|
+
'退款额(发货后)': ('退款额(发货后)', np.max),
|
283
|
+
'退货量(发货后)': ('退货量(发货后)', np.max),
|
284
284
|
}
|
285
285
|
)
|
286
286
|
df['件均价'] = df.apply(lambda x: x['销售额'] / x['销售量'] if x['销售量'] > 0 else 0, axis=1).round(
|
@@ -294,7 +294,7 @@ class GroupBy:
|
|
294
294
|
)
|
295
295
|
self.data_tgyj.update(
|
296
296
|
{
|
297
|
-
tabel_name: df[['日期', '宝贝id', '销售额', '销售量', '
|
297
|
+
tabel_name: df[['日期', '宝贝id', '销售额', '销售量', '退款额(发货后)', '退货量(发货后)']],
|
298
298
|
}
|
299
299
|
)
|
300
300
|
return df
|
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
|
{mdbq-1.0.1 → mdbq-1.0.2}/mdbq/mysql/data_types_/345/215/263/345/260/206/345/210/240/351/231/244.py"
RENAMED
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
|