lazysdk 0.1.116__py3-none-any.whl → 0.1.118__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.
- lazysdk/lazy_input.py +35 -0
- lazysdk/lazyexcel.py +24 -2
- {lazysdk-0.1.116.dist-info → lazysdk-0.1.118.dist-info}/METADATA +1 -1
- {lazysdk-0.1.116.dist-info → lazysdk-0.1.118.dist-info}/RECORD +7 -6
- {lazysdk-0.1.116.dist-info → lazysdk-0.1.118.dist-info}/LICENSE +0 -0
- {lazysdk-0.1.116.dist-info → lazysdk-0.1.118.dist-info}/WHEEL +0 -0
- {lazysdk-0.1.116.dist-info → lazysdk-0.1.118.dist-info}/top_level.txt +0 -0
lazysdk/lazy_input.py
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
# coding = utf8
|
3
|
+
from lazysdk import showdata
|
4
|
+
|
5
|
+
|
6
|
+
def convert2dict(header_str: str):
|
7
|
+
header_temp = header_str.split('\n')
|
8
|
+
header_dict = dict()
|
9
|
+
for each in header_temp:
|
10
|
+
if len(each) == 0:
|
11
|
+
continue
|
12
|
+
else:
|
13
|
+
each_split = each.split(': ')
|
14
|
+
header_dict[each_split[0]] = each_split[1]
|
15
|
+
return header_dict
|
16
|
+
|
17
|
+
|
18
|
+
def get_lines():
|
19
|
+
lines = []
|
20
|
+
print("请输入多行数据,以空行结束:")
|
21
|
+
while True:
|
22
|
+
line = input()
|
23
|
+
if line:
|
24
|
+
lines.append(line)
|
25
|
+
else:
|
26
|
+
break
|
27
|
+
|
28
|
+
print("您输入的多行数据是:")
|
29
|
+
return "\n".join(lines)
|
30
|
+
|
31
|
+
|
32
|
+
if __name__ == '__main__':
|
33
|
+
test_lines = get_lines()
|
34
|
+
showdata.show_dict(convert2dict(header_str=test_lines))
|
35
|
+
|
lazysdk/lazyexcel.py
CHANGED
@@ -233,7 +233,10 @@ def save_xlsx(
|
|
233
233
|
datetime_cols: list = None,
|
234
234
|
num_cols: list = None,
|
235
235
|
col_name_dict: dict = None,
|
236
|
-
col_name_sort: list = None
|
236
|
+
col_name_sort: list = None,
|
237
|
+
cell_number_format: dict = None,
|
238
|
+
rank_col: str = None,
|
239
|
+
rank_asc: bool = True,
|
237
240
|
):
|
238
241
|
"""
|
239
242
|
如果输入的value是乱序,将重新排序
|
@@ -244,6 +247,9 @@ def save_xlsx(
|
|
244
247
|
:param num_cols: 数字列列表
|
245
248
|
:param col_name_dict: 自定义列名的对照关系,规则为:{'旧名称1':'新名称1', '旧名称2':'新名称2'}
|
246
249
|
:param col_name_sort: 自定义列名排序,将按照列表顺序排,如果不在列表中,将随机
|
250
|
+
:param cell_number_format: 自定义列数据格式,例如{"a": "0.00", "b": "0.00%"}
|
251
|
+
:param rank_col: 排序列名
|
252
|
+
:param rank_asc: 排序列是否正序排序,True为按正序排序,False为按倒序排序
|
247
253
|
将输出保存后的文件绝对路径
|
248
254
|
"""
|
249
255
|
if os.path.isabs(file): # 判断是否为绝对路径
|
@@ -280,6 +286,19 @@ def save_xlsx(
|
|
280
286
|
keys_sort=col_name_sort
|
281
287
|
) # 先对要存储的数据做排序对齐
|
282
288
|
|
289
|
+
# 对值排序
|
290
|
+
if rank_col:
|
291
|
+
if rank_asc:
|
292
|
+
sheet_data_f = lazydict.dict_list_ranker(
|
293
|
+
dict_list=sheet_data_f,
|
294
|
+
rank_by_list=[[rank_col, 'asc']]
|
295
|
+
) # 升序排序
|
296
|
+
else:
|
297
|
+
sheet_data_f = lazydict.dict_list_ranker(
|
298
|
+
dict_list=sheet_data_f,
|
299
|
+
rank_by_list=[[rank_col,'desc']]
|
300
|
+
) # 降序排序
|
301
|
+
|
283
302
|
if date_cols is not None:
|
284
303
|
for each_sheet_data_f in sheet_data_f:
|
285
304
|
# 日期格式化
|
@@ -339,11 +358,14 @@ def save_xlsx(
|
|
339
358
|
value = each.get(key)
|
340
359
|
if isinstance(value, dict) or isinstance(value, list):
|
341
360
|
value = json.dumps(value, ensure_ascii=False)
|
342
|
-
sheet.cell(
|
361
|
+
cell = sheet.cell(
|
343
362
|
row=row_num,
|
344
363
|
column=col_num,
|
345
364
|
value=value
|
346
365
|
)
|
366
|
+
value_cell_number_format = cell_number_format.get(key)
|
367
|
+
if value_cell_number_format:
|
368
|
+
cell.number_format = value_cell_number_format # 设置单元格数据格式
|
347
369
|
col_num += 1
|
348
370
|
row_num += 1
|
349
371
|
else:
|
@@ -2,13 +2,14 @@ lazysdk/__init__.py,sha256=DnzFWyjDsoyNGq0VJ_s0Ha6dPOIGrZtA3DFQhg0HbEU,184
|
|
2
2
|
lazysdk/lazyCrypto.py,sha256=OftFbJTzPgoQ-o2AI4LI6uyPNIZAp0XZnXl_qStnR78,389
|
3
3
|
lazysdk/lazy_header.py,sha256=Ias8LAIOg5iUXGFsyNwdQ7QcAgcR7pp-q29ZFiCH1xU,782
|
4
4
|
lazysdk/lazy_id_card.py,sha256=b96SvObDaEavMLIdinbxpleupCEnHihklO-jycl5BJ8,2797
|
5
|
+
lazysdk/lazy_input.py,sha256=HNWLd_bm2WgCRO_Nl2LRDwZdehvmRit5MldseZ0D5Cg,783
|
5
6
|
lazysdk/lazybase64.py,sha256=8jtuH9S1jICXpzxhRLe7xNur_o9TWbT1BRmTshZWYh0,669
|
6
7
|
lazysdk/lazycache.py,sha256=it4B-iTXITtua8yjeiUooDsye4Z_aGy4uAOibxoViNQ,571
|
7
8
|
lazysdk/lazychromedriver.py,sha256=tJk6HIY31tqBFiSolq2ALxLqDTcOTrevOKaDqzUVPps,15383
|
8
9
|
lazysdk/lazydecode.py,sha256=z3no94VDhxVxJCPQFwKxKTxz8v9Eikjk18TZWDttN6A,414
|
9
10
|
lazysdk/lazydict.py,sha256=FZ6HsTh7AZFXbsv8_9VE3sVp3gn8Frs7qOdHB2K5lRk,10092
|
10
11
|
lazysdk/lazyenv.py,sha256=P6HjO9cbBPzHD_Vs-Ww_GThDq-h9Wn31VSiu9OzTNWI,3024
|
11
|
-
lazysdk/lazyexcel.py,sha256=
|
12
|
+
lazysdk/lazyexcel.py,sha256=smwLo0yJOVgjtSMmYNnH35nEFJeS8X79ard0sdTmWow,16970
|
12
13
|
lazysdk/lazyfile.py,sha256=5p7yPWRLTqvToDUzQAEZ8uGfz-x-zSsM5ZHeT97ZpWo,20268
|
13
14
|
lazysdk/lazyflask.py,sha256=VUhJqtNz_evVyGOS40FKkkQWWrqGEUZ26cv1RQxS388,727
|
14
15
|
lazysdk/lazyhtml.py,sha256=dWexQvyApvm1xDzGT_nzke2hSyJWSmHfq74z5FWmunU,2537
|
@@ -34,8 +35,8 @@ lazysdk/lazywebhook.py,sha256=NTfcVY2p3U2qSbZ7sspSj2hloBr-22zmGSEirJG2jW0,10708
|
|
34
35
|
lazysdk/lazywifi.py,sha256=FOvLPTcb6BQE6D8kjfB0TLpfgGxw8jqC3vZbTs6LbD4,716
|
35
36
|
lazysdk/lazyxml.py,sha256=PLAcDWjpu2GMJPsV9dHOv716CVmflQee7Aan-hqGxL8,770
|
36
37
|
lazysdk/showdata.py,sha256=957JMXq7qfJ4ELpA3nBJwkyEUn6mRwtVXVBGYfZaCgg,1683
|
37
|
-
lazysdk-0.1.
|
38
|
-
lazysdk-0.1.
|
39
|
-
lazysdk-0.1.
|
40
|
-
lazysdk-0.1.
|
41
|
-
lazysdk-0.1.
|
38
|
+
lazysdk-0.1.118.dist-info/LICENSE,sha256=OC5E4ENUG6B4dGEVGwUpdsD-D9SZsCVC92NAgaqvE-c,1088
|
39
|
+
lazysdk-0.1.118.dist-info/METADATA,sha256=dK6lcchHNrmD0UJePr_FmVph4w08zE-9IxIs3WQAd-Y,1901
|
40
|
+
lazysdk-0.1.118.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
41
|
+
lazysdk-0.1.118.dist-info/top_level.txt,sha256=--bGS42ZHUhVeO83y1wfvKFg6OjkTLxQ4V4riqPQljY,8
|
42
|
+
lazysdk-0.1.118.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|