mdbq 1.1.0__tar.gz → 1.1.1__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.1.0 → mdbq-1.1.1}/PKG-INFO +1 -1
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/aggregation/query_data.py +1 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/mysql/mysql.py +16 -6
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq.egg-info/PKG-INFO +1 -1
- {mdbq-1.1.0 → mdbq-1.1.1}/setup.py +1 -1
- {mdbq-1.1.0 → mdbq-1.1.1}/README.txt +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/__init__.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/__version__.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/aggregation/__init__.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/aggregation/aggregation.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/aggregation/df_types.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/aggregation/mysql_types.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/aggregation/optimize_data.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/bdup/__init__.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/bdup/bdup.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/clean/__init__.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/clean/data_clean.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/company/__init__.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/company/copysh.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/config/__init__.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/config/get_myconf.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/config/products.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/config/set_support.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/config/update_conf.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/dataframe/__init__.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/dataframe/converter.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/log/__init__.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/log/mylogger.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/mongo/__init__.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/mongo/mongo.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/mysql/__init__.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/mysql/data_types_/345/215/263/345/260/206/345/210/240/351/231/244.py" +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/mysql/s_query.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/mysql/year_month_day.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/other/__init__.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/other/porxy.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/other/pov_city.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/other/ua_sj.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/pbix/__init__.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/pbix/pbix_refresh.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/pbix/refresh_all.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq/spider/__init__.py +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq.egg-info/SOURCES.txt +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq.egg-info/dependency_links.txt +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/mdbq.egg-info/top_level.txt +0 -0
- {mdbq-1.1.0 → mdbq-1.1.1}/setup.cfg +0 -0
@@ -183,6 +183,18 @@ class MysqlUpload:
|
|
183
183
|
|
184
184
|
def convert_dtype_to_sql(self, df, col, dtype):
|
185
185
|
""" 按照以下规则转换DataFrame列的数据类型为 MYSQL 专有的数据类型 """
|
186
|
+
|
187
|
+
def find_longest_decimal_value(number_list):
|
188
|
+
# 取列表中小数位数最长的值
|
189
|
+
longest_value = None
|
190
|
+
max_decimals = 0
|
191
|
+
for num in number_list:
|
192
|
+
decimal_places = len(str(num).split('.')[1])
|
193
|
+
if decimal_places > max_decimals:
|
194
|
+
max_decimals = decimal_places
|
195
|
+
longest_value = num
|
196
|
+
return longest_value
|
197
|
+
|
186
198
|
# 最优先处理 ID 类型, 在 mysql 里面, 有些列数字过长不能存储为 int 类型
|
187
199
|
if 'id' in col or 'ID' in col or 'Id' in col or '摘要' in col or '商家编码' in col or '单号' in col or '款号' in col:
|
188
200
|
return 'mediumtext'
|
@@ -207,9 +219,9 @@ class MysqlUpload:
|
|
207
219
|
return 'mediumtext'
|
208
220
|
return 'INT'
|
209
221
|
elif dtype == 'float64':
|
210
|
-
|
211
|
-
int_step = len(str(
|
212
|
-
f_step = len(str(
|
222
|
+
res = find_longest_decimal_value(df[col].tolist()) # 取小数位数最长的值
|
223
|
+
int_step = len(str(res).split('.')[0]) # 整数位数长度
|
224
|
+
f_step = len(str(res).split('.')[1]) # 小数位数长度
|
213
225
|
if int_step >= 12:
|
214
226
|
return 'mediumtext' # mysql 中不要使用 float 和 double 类型,会影响计算结果
|
215
227
|
elif int_step >= 8 and f_step >= 0:
|
@@ -689,7 +701,7 @@ if __name__ == '__main__':
|
|
689
701
|
username, password, host, port = get_myconf.select_config_values(target_service='company', database='mysql')
|
690
702
|
print(username, password, host, port)
|
691
703
|
|
692
|
-
file = '/Users/xigua/
|
704
|
+
file = '/Users/xigua/数据中心/原始文件2/京东报表/JD商品明细spu/2024-08/spu_2024-08-18_全部渠道_商品明细.csv'
|
693
705
|
one_file_to_mysql(
|
694
706
|
file=file,
|
695
707
|
db_name='test',
|
@@ -698,5 +710,3 @@ if __name__ == '__main__':
|
|
698
710
|
database='mysql'
|
699
711
|
)
|
700
712
|
|
701
|
-
|
702
|
-
|
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
|
{mdbq-1.1.0 → mdbq-1.1.1}/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
|