mdbq 1.1.5__py3-none-any.whl → 1.1.7__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 +22 -6
- mdbq/mysql/mysql.py +7 -3
- {mdbq-1.1.5.dist-info → mdbq-1.1.7.dist-info}/METADATA +1 -1
- {mdbq-1.1.5.dist-info → mdbq-1.1.7.dist-info}/RECORD +6 -6
- {mdbq-1.1.5.dist-info → mdbq-1.1.7.dist-info}/WHEEL +0 -0
- {mdbq-1.1.5.dist-info → mdbq-1.1.7.dist-info}/top_level.txt +0 -0
mdbq/aggregation/aggregation.py
CHANGED
@@ -851,6 +851,9 @@ class DatabaseUpdate:
|
|
851
851
|
|
852
852
|
def upload(path, db_name, collection_name):
|
853
853
|
""" 上传一个文件夹到数据库 """
|
854
|
+
if not os.path.isdir(path):
|
855
|
+
print(f'{os.path.splitext(os.path.basename(__file__))[0]}.upload: 函数只接受文件夹路径,不是一个文件夹: {path}')
|
856
|
+
return
|
854
857
|
username, password, host, port = get_myconf.select_config_values(
|
855
858
|
target_service='home_lx',
|
856
859
|
database='mongodb',
|
@@ -888,7 +891,7 @@ def upload(path, db_name, collection_name):
|
|
888
891
|
db_name=db_name,
|
889
892
|
collection_name=collection_name,
|
890
893
|
)
|
891
|
-
|
894
|
+
|
892
895
|
count = 0
|
893
896
|
for root, dirs, files in os.walk(path, topdown=False):
|
894
897
|
for name in files:
|
@@ -924,6 +927,14 @@ def upload(path, db_name, collection_name):
|
|
924
927
|
d.client.close() # 必须手动关闭数据库连接
|
925
928
|
|
926
929
|
|
930
|
+
def one_file_to_mysql(file, db_name, table_name, target_service, database):
|
931
|
+
username, password, host, port = get_myconf.select_config_values(target_service=target_service, database=database)
|
932
|
+
filename = os.path.basename(file)
|
933
|
+
df = pd.read_csv(file, encoding='utf-8_sig', header=0, na_filter=False, float_precision='high')
|
934
|
+
m = mysql.MysqlUpload(username=username, password=password, host=host, port=port)
|
935
|
+
m.df_to_mysql(df=df, db_name=db_name, table_name=table_name, filename=filename)
|
936
|
+
|
937
|
+
|
927
938
|
def file_dir():
|
928
939
|
"""
|
929
940
|
按照文件记录对照表
|
@@ -939,8 +950,10 @@ def file_dir():
|
|
939
950
|
for data in datas:
|
940
951
|
# print(data)
|
941
952
|
if data['入库进度'] == 0:
|
942
|
-
sub_path, db_name,
|
943
|
-
|
953
|
+
sub_path, db_name, table_name = data['子文件夹'], data['数据库名'], data['数据表']
|
954
|
+
if platform.system() == 'Windows':
|
955
|
+
sub_path = sub_path.replace('/', '\\')
|
956
|
+
# print(os.path.join(path, sub_path), db_name, table_name)
|
944
957
|
# 从每个文件夹中取出一个文件
|
945
958
|
real_path_list = []
|
946
959
|
for root, dirs, files in os.walk(os.path.join(path, sub_path), topdown=False):
|
@@ -949,13 +962,16 @@ def file_dir():
|
|
949
962
|
real_path_list.append(os.path.join(root, name))
|
950
963
|
break
|
951
964
|
for real_path in real_path_list:
|
952
|
-
|
953
|
-
|
965
|
+
one_file_to_mysql(
|
966
|
+
file=real_path,
|
954
967
|
db_name=db_name,
|
955
|
-
|
968
|
+
table_name=table_name,
|
969
|
+
target_service='home_lx',
|
970
|
+
database='mysql'
|
956
971
|
)
|
957
972
|
data.update({'入库进度': 1}) # 更新进度
|
958
973
|
df = pd.DataFrame.from_dict(datas, orient='columns')
|
974
|
+
# print(df)
|
959
975
|
df.to_csv(os.path.join(path, filename), encoding='utf-8_sig', index=False, header=True)
|
960
976
|
|
961
977
|
|
mdbq/mysql/mysql.py
CHANGED
@@ -198,10 +198,14 @@ class MysqlUpload:
|
|
198
198
|
longest_value = None
|
199
199
|
max_decimals = 0
|
200
200
|
for num in number_list:
|
201
|
-
|
202
|
-
|
203
|
-
|
201
|
+
try:
|
202
|
+
decimal_places = len(str(num).split('.')[1])
|
203
|
+
if decimal_places > max_decimals:
|
204
|
+
max_decimals = decimal_places
|
205
|
+
longest_value = num
|
206
|
+
except:
|
204
207
|
longest_value = num
|
208
|
+
continue
|
205
209
|
return longest_value
|
206
210
|
|
207
211
|
# 最优先处理 ID 类型, 在 mysql 里面, 有些列数字过长不能存储为 int 类型
|
@@ -1,7 +1,7 @@
|
|
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=mz80JHBlnkqKruTl1zvutTe_ed9afgdgZAAjeaJMOrI,57143
|
5
5
|
mdbq/aggregation/df_types.py,sha256=rHLIgv82PJSFmDvXkZyOJAffXkFyyMyFO23w9tUt8EQ,7525
|
6
6
|
mdbq/aggregation/mysql_types.py,sha256=kzUAGM4FYp77tA_dvHjZNGyPoUAOU1WY5QD0uanh9I4,10418
|
7
7
|
mdbq/aggregation/optimize_data.py,sha256=jLAWtxPUuhpo4XTVrhKtT4xK3grs7r73ePQfLhxlu1I,779
|
@@ -25,7 +25,7 @@ mdbq/mongo/__init__.py,sha256=SILt7xMtQIQl_m-ik9WLtJSXIVf424iYgCfE_tnQFbw,13
|
|
25
25
|
mdbq/mongo/mongo.py,sha256=v9qvrp6p1ZRWuPpbSilqveiE0FEcZF7U5xUPI0RN4xs,31880
|
26
26
|
mdbq/mysql/__init__.py,sha256=A_DPJyAoEvTSFojiI2e94zP0FKtCkkwKP1kYUCSyQzo,11
|
27
27
|
mdbq/mysql/data_types_即将删除.py,sha256=sjBBDKr9674LdjM5N_dwyJACdZPbdB8Beli59jGdgnQ,10378
|
28
|
-
mdbq/mysql/mysql.py,sha256=
|
28
|
+
mdbq/mysql/mysql.py,sha256=tO-VGCiXBzJh488a6i7lbg9LW6eJu7WUke52NAYmUyw,35897
|
29
29
|
mdbq/mysql/s_query.py,sha256=4c24SwbqtnO33o8CgWlTQ_j8sZYl5BRIQkaD9CI-vTY,7901
|
30
30
|
mdbq/mysql/year_month_day.py,sha256=VgewoE2pJxK7ErjfviL_SMTN77ki8GVbTUcao3vFUCE,1523
|
31
31
|
mdbq/other/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
|
@@ -36,7 +36,7 @@ mdbq/pbix/__init__.py,sha256=Trtfaynu9RjoTyLLYBN2xdRxTvm_zhCniUkVTAYwcjo,24
|
|
36
36
|
mdbq/pbix/pbix_refresh.py,sha256=JUjKW3bNEyoMVfVfo77UhguvS5AWkixvVhDbw4_MHco,2396
|
37
37
|
mdbq/pbix/refresh_all.py,sha256=tgy762608HMaXWynbOURIf2UVMuSPybzrDXQnOOcnZU,6102
|
38
38
|
mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
|
39
|
-
mdbq-1.1.
|
40
|
-
mdbq-1.1.
|
41
|
-
mdbq-1.1.
|
42
|
-
mdbq-1.1.
|
39
|
+
mdbq-1.1.7.dist-info/METADATA,sha256=S4uJYKa8wM2jz5iU3UyPPdeatDfUW-CdOW79R__WAk0,245
|
40
|
+
mdbq-1.1.7.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
|
41
|
+
mdbq-1.1.7.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
|
42
|
+
mdbq-1.1.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|