mdbq 1.1.6__tar.gz → 1.1.8__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.
Files changed (46) hide show
  1. {mdbq-1.1.6 → mdbq-1.1.8}/PKG-INFO +1 -1
  2. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/aggregation/aggregation.py +4 -2
  3. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/mysql/mysql.py +19 -11
  4. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq.egg-info/PKG-INFO +1 -1
  5. {mdbq-1.1.6 → mdbq-1.1.8}/setup.py +1 -1
  6. {mdbq-1.1.6 → mdbq-1.1.8}/README.txt +0 -0
  7. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/__init__.py +0 -0
  8. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/__version__.py +0 -0
  9. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/aggregation/__init__.py +0 -0
  10. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/aggregation/df_types.py +0 -0
  11. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/aggregation/mysql_types.py +0 -0
  12. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/aggregation/optimize_data.py +0 -0
  13. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/aggregation/query_data.py +0 -0
  14. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/bdup/__init__.py +0 -0
  15. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/bdup/bdup.py +0 -0
  16. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/clean/__init__.py +0 -0
  17. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/clean/data_clean.py +0 -0
  18. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/company/__init__.py +0 -0
  19. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/company/copysh.py +0 -0
  20. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/config/__init__.py +0 -0
  21. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/config/get_myconf.py +0 -0
  22. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/config/products.py +0 -0
  23. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/config/set_support.py +0 -0
  24. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/config/update_conf.py +0 -0
  25. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/dataframe/__init__.py +0 -0
  26. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/dataframe/converter.py +0 -0
  27. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/log/__init__.py +0 -0
  28. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/log/mylogger.py +0 -0
  29. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/mongo/__init__.py +0 -0
  30. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/mongo/mongo.py +0 -0
  31. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/mysql/__init__.py +0 -0
  32. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/mysql/data_types_/345/215/263/345/260/206/345/210/240/351/231/244.py" +0 -0
  33. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/mysql/s_query.py +0 -0
  34. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/mysql/year_month_day.py +0 -0
  35. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/other/__init__.py +0 -0
  36. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/other/porxy.py +0 -0
  37. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/other/pov_city.py +0 -0
  38. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/other/ua_sj.py +0 -0
  39. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/pbix/__init__.py +0 -0
  40. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/pbix/pbix_refresh.py +0 -0
  41. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/pbix/refresh_all.py +0 -0
  42. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq/spider/__init__.py +0 -0
  43. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq.egg-info/SOURCES.txt +0 -0
  44. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq.egg-info/dependency_links.txt +0 -0
  45. {mdbq-1.1.6 → mdbq-1.1.8}/mdbq.egg-info/top_level.txt +0 -0
  46. {mdbq-1.1.6 → mdbq-1.1.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mdbq
3
- Version: 1.1.6
3
+ Version: 1.1.8
4
4
  Home-page: https://pypi.org/project/mdbsql
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -917,8 +917,8 @@ def upload(path, db_name, collection_name):
917
917
  dtypes = {k: dtypes[k] for k in intersection_keys} # 使用交集的键创建新字典
918
918
  df = df.astype(dtypes)
919
919
 
920
- # d.df_to_mongo(df=df, db_name=db_name, collection_name=collection_name)
921
- m.df_to_mysql(df=df, db_name=db_name, table_name=collection_name, filename=name, count=f'{i}/{count}')
920
+ d.df_to_mongo(df=df, db_name=db_name, collection_name=collection_name)
921
+ m.df_to_mysql(df=df, db_name=db_name, table_name=collection_name, drop_dup=False, filename=name, count=f'{i}/{count}')
922
922
  # nas.df_to_mysql(df=df, db_name=db_name, table_name=collection_name)
923
923
  except Exception as e:
924
924
  print(name, e)
@@ -951,6 +951,8 @@ def file_dir():
951
951
  # print(data)
952
952
  if data['入库进度'] == 0:
953
953
  sub_path, db_name, table_name = data['子文件夹'], data['数据库名'], data['数据表']
954
+ if platform.system() == 'Windows':
955
+ sub_path = sub_path.replace('/', '\\')
954
956
  # print(os.path.join(path, sub_path), db_name, table_name)
955
957
  # 从每个文件夹中取出一个文件
956
958
  real_path_list = []
@@ -37,7 +37,7 @@ class MysqlUpload:
37
37
  }
38
38
  self.filename = None
39
39
 
40
- def df_to_mysql(self, df, table_name, db_name='远程数据源', drop_duplicates=False, filename=None, count=None):
40
+ def df_to_mysql(self, df, table_name, db_name='远程数据源', drop_dup=True, drop_duplicates=False, filename=None, count=None):
41
41
  """
42
42
  将 df 写入数据库
43
43
  db_name: 数据库名称
@@ -144,15 +144,19 @@ class MysqlUpload:
144
144
  condition = ' AND '.join(condition) # 构建查询条件
145
145
  # print(condition)
146
146
 
147
- sql = f"SELECT {cols} FROM `{table_name}` WHERE {condition}"
148
- # sql = f"SELECT {cols} FROM `{table_name}` WHERE `创建时间` = '2014-09-19 14:32:33'"
149
- cursor.execute(sql)
150
- result = cursor.fetchall() # 获取查询结果, 有结果返回 list 表示数据已存在(不重复插入),没有则返回空 tuple
151
- if not result: # 数据不存在则插入
147
+ if drop_dup:
148
+ sql = f"SELECT {cols} FROM `{table_name}` WHERE {condition}"
149
+ # sql = f"SELECT {cols} FROM `{table_name}` WHERE `创建时间` = '2014-09-19 14:32:33'"
150
+ cursor.execute(sql)
151
+ result = cursor.fetchall() # 获取查询结果, 有结果返回 list 表示数据已存在(不重复插入),没有则返回空 tuple
152
+ if not result: # 数据不存在则插入
153
+ sql = f"INSERT INTO `{table_name}` ({cols}) VALUES ({values});"
154
+ cursor.execute(sql)
155
+ # else:
156
+ # print(f'重复数据不插入: {condition[:50]}...')
157
+ else:
152
158
  sql = f"INSERT INTO `{table_name}` ({cols}) VALUES ({values});"
153
159
  cursor.execute(sql)
154
- # else:
155
- # print(f'重复数据不插入: {condition[:50]}...')
156
160
  except Exception as e:
157
161
  # print(data)
158
162
  # print(values)
@@ -198,10 +202,14 @@ class MysqlUpload:
198
202
  longest_value = None
199
203
  max_decimals = 0
200
204
  for num in number_list:
201
- decimal_places = len(str(num).split('.')[1])
202
- if decimal_places > max_decimals:
203
- max_decimals = decimal_places
205
+ try:
206
+ decimal_places = len(str(num).split('.')[1])
207
+ if decimal_places > max_decimals:
208
+ max_decimals = decimal_places
209
+ longest_value = num
210
+ except:
204
211
  longest_value = num
212
+ continue
205
213
  return longest_value
206
214
 
207
215
  # 最优先处理 ID 类型, 在 mysql 里面, 有些列数字过长不能存储为 int 类型
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mdbq
3
- Version: 1.1.6
3
+ Version: 1.1.8
4
4
  Home-page: https://pypi.org/project/mdbsql
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -3,7 +3,7 @@
3
3
  from setuptools import setup, find_packages
4
4
 
5
5
  setup(name='mdbq',
6
- version='1.1.6',
6
+ version='1.1.8',
7
7
  author='xigua, ',
8
8
  author_email="2587125111@qq.com",
9
9
  url='https://pypi.org/project/mdbsql',
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
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