lazysdk 0.1.118__tar.gz → 0.1.120__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.
- {lazysdk-0.1.118 → lazysdk-0.1.120}/PKG-INFO +1 -1
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyexcel.py +14 -4
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazytime.py +80 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk.egg-info/PKG-INFO +1 -1
- {lazysdk-0.1.118 → lazysdk-0.1.120}/setup.py +1 -1
- {lazysdk-0.1.118 → lazysdk-0.1.120}/LICENSE +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/README.md +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/__init__.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyCrypto.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazy_header.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazy_id_card.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazy_input.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazybase64.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazycache.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazychromedriver.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazydecode.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazydict.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyenv.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyfile.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyflask.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyhtml.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyid.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyinfo.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyip.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyjson.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazylist.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazym3u8.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazymd5.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazypath.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyprocess.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyproxies.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyrandom.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyre.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyredis.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyrequests.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazytext.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyua.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyurl.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazywebhook.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazywifi.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/lazyxml.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk/showdata.py +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk.egg-info/SOURCES.txt +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk.egg-info/dependency_links.txt +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk.egg-info/requires.txt +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/lazysdk.egg-info/top_level.txt +0 -0
- {lazysdk-0.1.118 → lazysdk-0.1.120}/setup.cfg +0 -0
@@ -252,12 +252,18 @@ def save_xlsx(
|
|
252
252
|
:param rank_asc: 排序列是否正序排序,True为按正序排序,False为按倒序排序
|
253
253
|
将输出保存后的文件绝对路径
|
254
254
|
"""
|
255
|
+
# 自动检查添加后缀
|
256
|
+
if file.endswith(".xlsx"):
|
257
|
+
pass
|
258
|
+
else:
|
259
|
+
file += ".xlsx"
|
260
|
+
|
255
261
|
if os.path.isabs(file): # 判断是否为绝对路径
|
256
262
|
pass
|
257
263
|
else:
|
258
264
|
file = os.getcwd() + path_separator + file
|
259
265
|
if value is None:
|
260
|
-
return
|
266
|
+
return file
|
261
267
|
else:
|
262
268
|
wb = openpyxl.Workbook()
|
263
269
|
sheet_index = 0 # sheet序号
|
@@ -363,9 +369,13 @@ def save_xlsx(
|
|
363
369
|
column=col_num,
|
364
370
|
value=value
|
365
371
|
)
|
366
|
-
|
367
|
-
|
368
|
-
|
372
|
+
|
373
|
+
# 对单元数据格式化
|
374
|
+
if cell_number_format:
|
375
|
+
value_cell_number_format = cell_number_format.get(key)
|
376
|
+
if value_cell_number_format:
|
377
|
+
cell.number_format = value_cell_number_format # 设置单元格数据格式
|
378
|
+
|
369
379
|
col_num += 1
|
370
380
|
row_num += 1
|
371
381
|
else:
|
@@ -1024,3 +1024,83 @@ def network_timestamp():
|
|
1024
1024
|
res = requests.get(url=url)
|
1025
1025
|
net_t = res.json()['data']['t'] # 精确到毫秒的时间戳
|
1026
1026
|
return int(net_t)
|
1027
|
+
|
1028
|
+
|
1029
|
+
def str2datetime(
|
1030
|
+
input_str,
|
1031
|
+
input_str_format: str = 'YYmmdd',
|
1032
|
+
output_str_format: str = '%Y-%m-%d %H:%M:%S.%f',
|
1033
|
+
):
|
1034
|
+
"""
|
1035
|
+
将输入的字符串按照既定格式格式化后输出
|
1036
|
+
:param input_str: 输入的字符串
|
1037
|
+
:param input_str_format: 输入的字符串格式,例如:YYmmdd
|
1038
|
+
:param output_str_format: 输出的字符串格式,例如:%Y-%m-%d %H:%M:%S.%f
|
1039
|
+
"""
|
1040
|
+
year_str = ""
|
1041
|
+
month_str = ""
|
1042
|
+
day_str = ""
|
1043
|
+
hour_str = ""
|
1044
|
+
minute_str = ""
|
1045
|
+
second_str = ""
|
1046
|
+
|
1047
|
+
for index in range(len(input_str_format)):
|
1048
|
+
index_str = input_str_format[index]
|
1049
|
+
if index_str == 'Y':
|
1050
|
+
year_str += input_str[index]
|
1051
|
+
elif index_str == 'm':
|
1052
|
+
month_str += input_str[index]
|
1053
|
+
elif index_str == 'd':
|
1054
|
+
day_str += input_str[index]
|
1055
|
+
elif index_str == 'H':
|
1056
|
+
hour_str += input_str[index]
|
1057
|
+
elif index_str == 'M':
|
1058
|
+
minute_str += input_str[index]
|
1059
|
+
elif index_str == 'S':
|
1060
|
+
second_str += input_str[index]
|
1061
|
+
else:
|
1062
|
+
continue
|
1063
|
+
|
1064
|
+
if year_str:
|
1065
|
+
year_int = int(year_str)
|
1066
|
+
else:
|
1067
|
+
year_int = None
|
1068
|
+
|
1069
|
+
if month_str:
|
1070
|
+
month_int = int(month_str)
|
1071
|
+
else:
|
1072
|
+
month_int = None
|
1073
|
+
|
1074
|
+
if day_str:
|
1075
|
+
day_int = int(day_str)
|
1076
|
+
else:
|
1077
|
+
day_int = None
|
1078
|
+
|
1079
|
+
if hour_str:
|
1080
|
+
hour_int = int(hour_str)
|
1081
|
+
else:
|
1082
|
+
hour_int = 0
|
1083
|
+
|
1084
|
+
if minute_str:
|
1085
|
+
minute_int = int(minute_str)
|
1086
|
+
else:
|
1087
|
+
minute_int = 0
|
1088
|
+
|
1089
|
+
if second_str:
|
1090
|
+
second_int = int(second_str)
|
1091
|
+
else:
|
1092
|
+
second_int = 0
|
1093
|
+
|
1094
|
+
return datetime.datetime(
|
1095
|
+
year=year_int,
|
1096
|
+
month=month_int,
|
1097
|
+
day=day_int,
|
1098
|
+
hour=hour_int,
|
1099
|
+
minute=minute_int,
|
1100
|
+
second=second_int
|
1101
|
+
).strftime(output_str_format)
|
1102
|
+
|
1103
|
+
|
1104
|
+
if __name__ == '__main__':
|
1105
|
+
res = str2datetime(input_str="20250101123456", input_str_format="YYYYmmdd")
|
1106
|
+
print(res)
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|