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.
@@ -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
- # print(dtypes)
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, collection_name = data['子文件夹'], data['数据库名'], data['数据表']
943
- # print(os.path.join(path, sub_path), db_name, collection_name)
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
- upload(
953
- path=real_path,
965
+ one_file_to_mysql(
966
+ file=real_path,
954
967
  db_name=db_name,
955
- collection_name=collection_name
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
- decimal_places = len(str(num).split('.')[1])
202
- if decimal_places > max_decimals:
203
- max_decimals = decimal_places
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,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mdbq
3
- Version: 1.1.5
3
+ Version: 1.1.7
4
4
  Home-page: https://pypi.org/project/mdbsql
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -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=FyuVv5ctuYgM8V8Y9Y2KYS2Vqy4Ui5bMMPsLjyC_MZM,56278
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=uEPPHMgrU7KhuJU6wvRGVWD3TUNVKaq5d6LNUrD0sxY,35767
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.5.dist-info/METADATA,sha256=3SZ_ogj5DALBTnE3E-zn1aZE68YlyW-ctP6UzN4l2m0,245
40
- mdbq-1.1.5.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
41
- mdbq-1.1.5.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
42
- mdbq-1.1.5.dist-info/RECORD,,
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