mdbq 3.1.7__tar.gz → 3.1.9__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-3.1.7 → mdbq-3.1.9}/PKG-INFO +1 -1
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/aggregation/aggregation.py +60 -18
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/aggregation/query_data.py +273 -173
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/dataframe/converter.py +4 -1
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/mysql/mysql.py +58 -39
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/mysql/s_query.py +14 -11
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq.egg-info/PKG-INFO +1 -1
- {mdbq-3.1.7 → mdbq-3.1.9}/setup.py +1 -1
- {mdbq-3.1.7 → mdbq-3.1.9}/README.txt +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/__init__.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/__version__.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/aggregation/__init__.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/aggregation/df_types.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/aggregation/mysql_types.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/aggregation/optimize_data.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/aggregation/query_data_bak.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/bdup/__init__.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/bdup/bdup.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/clean/__init__.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/clean/clean_upload.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/clean/data_clean.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/company/__init__.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/company/copysh.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/config/__init__.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/config/get_myconf.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/config/myconfig.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/config/products.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/config/set_support.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/config/update_conf.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/dataframe/__init__.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/log/__init__.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/log/mylogger.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/mongo/__init__.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/mongo/mongo.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/mysql/__init__.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/mysql/recheck_mysql.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/mysql/year_month_day.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/other/__init__.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/other/download_sku_picture.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/other/porxy.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/other/pov_city.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/other/sku_picture.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/other/ua_sj.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/pbix/__init__.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/pbix/pbix_refresh.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/pbix/refresh_all.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/pbix/refresh_all_old.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/req_post/__init__.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/req_post/req_tb.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/spider/__init__.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq/spider/aikucun.py +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq.egg-info/SOURCES.txt +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq.egg-info/dependency_links.txt +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/mdbq.egg-info/top_level.txt +0 -0
- {mdbq-3.1.7 → mdbq-3.1.9}/setup.cfg +0 -0
@@ -1213,38 +1213,80 @@ def one_file_to_mysql(file, db_name, table_name):
|
|
1213
1213
|
)
|
1214
1214
|
|
1215
1215
|
|
1216
|
-
def
|
1217
|
-
|
1218
|
-
|
1216
|
+
def cut_as_year_month(as_month=False):
|
1217
|
+
"""
|
1218
|
+
将表格数据按年划分
|
1219
|
+
as_month: true 按月重新保存
|
1220
|
+
"""
|
1221
|
+
file_name = '达摩盘_人群报表'
|
1222
|
+
path = r'/Users/xigua/Downloads/数据库导出'
|
1219
1223
|
|
1220
1224
|
for root, dirs, files in os.walk(path, topdown=False):
|
1221
1225
|
for name in files:
|
1222
1226
|
if name.endswith('.csv') and 'baidu' not in name and '~' not in name:
|
1223
|
-
|
1224
|
-
|
1225
|
-
|
1226
|
-
# print(name)
|
1227
|
-
if len(df) == 0:
|
1227
|
+
pattern = re.findall(r'\d{4}.csv|\d{4}-\d{2}.csv', name)
|
1228
|
+
if pattern:
|
1228
1229
|
continue
|
1229
|
-
|
1230
|
-
|
1231
|
-
df.
|
1230
|
+
if file_name not in name:
|
1231
|
+
continue
|
1232
|
+
# df = pd.read_excel(os.path.join(root, name), header=0)
|
1233
|
+
df_before = pd.read_csv(os.path.join(root, name), encoding='utf-8_sig', header=0, na_filter=False)
|
1234
|
+
df_before['日期'] = pd.to_datetime(df_before['日期'], format='%Y-%m-%d', errors='ignore')
|
1235
|
+
max_date = df_before['日期'].max(skipna=True).year
|
1236
|
+
min_date = df_before['日期'].min(skipna=True).year
|
1237
|
+
for year in range(min_date, max_date+1):
|
1238
|
+
df = df_before[(df_before['日期'] >= f'{year}-01-01') & (df_before['日期'] <= f'{year}-12-31')]
|
1239
|
+
if as_month:
|
1240
|
+
for month in range(1, 13):
|
1241
|
+
if month < 10:
|
1242
|
+
month = f'0{month}'
|
1243
|
+
for n in range(31, 27, -1):
|
1244
|
+
try:
|
1245
|
+
end_day = pd.to_datetime(f'{year}-{month}-{n}')
|
1246
|
+
break
|
1247
|
+
except:
|
1248
|
+
continue
|
1249
|
+
st_day = pd.to_datetime(f'{year}-{month}-01')
|
1250
|
+
df_month = df[(df['日期'] >= st_day) & (df['日期'] <= end_day)]
|
1251
|
+
if len(df_month) == 0:
|
1252
|
+
continue
|
1253
|
+
df_month.sort_values('日期', ascending=True, ignore_index=True, inplace=True)
|
1254
|
+
df_month = df_month.reset_index(drop=True)
|
1255
|
+
df_month = df_month.reset_index(drop=False)
|
1256
|
+
df_month.pop('id')
|
1257
|
+
df_month.rename(columns={'index': 'id'}, inplace=True)
|
1258
|
+
df_month['id'] = df_month['id'].apply(lambda x: x + 1)
|
1259
|
+
new_name = f'{os.path.splitext(name)[0]}_{year}_{month}.csv'
|
1260
|
+
print(new_name)
|
1261
|
+
df_month.to_csv(os.path.join(root, new_name), encoding='utf-8_sig', index=False, header=True)
|
1262
|
+
else:
|
1263
|
+
df.sort_values('日期', ascending=True, ignore_index=True, inplace=True)
|
1264
|
+
df = df.reset_index(drop=True)
|
1265
|
+
df = df.reset_index(drop=False)
|
1266
|
+
df.pop('id')
|
1267
|
+
df.rename(columns={'index': 'id'}, inplace=True)
|
1268
|
+
df['id'] = df['id'].apply(lambda x: x + 1)
|
1269
|
+
new_name = f'{os.path.splitext(name)[0]}_{year}.csv'
|
1270
|
+
print(new_name)
|
1271
|
+
df.to_csv(os.path.join(root, new_name), encoding='utf-8_sig', index=False, header=True)
|
1232
1272
|
|
1233
1273
|
|
1234
1274
|
if __name__ == '__main__':
|
1275
|
+
cut_as_year_month(as_month=False)
|
1276
|
+
|
1235
1277
|
# username = 'root'
|
1236
1278
|
# password = ''
|
1237
1279
|
# host = ''
|
1238
1280
|
# port = ''
|
1239
1281
|
#
|
1240
|
-
# 上传 1 个文件到数据库
|
1241
|
-
one_file_to_mysql(
|
1242
|
-
|
1243
|
-
|
1244
|
-
|
1245
|
-
)
|
1282
|
+
# # 上传 1 个文件到数据库
|
1283
|
+
# one_file_to_mysql(
|
1284
|
+
# file=r'/Users/xigua/Downloads/批量SKU导出-批量任务.xlsx',
|
1285
|
+
# db_name='属性设置3',
|
1286
|
+
# table_name='京东商品属性',
|
1287
|
+
# )
|
1288
|
+
|
1246
1289
|
|
1247
|
-
# test()
|
1248
1290
|
# col = 1
|
1249
1291
|
# if col:
|
1250
1292
|
# # 上传一个目录到指定数据库
|