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 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:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lazysdk
3
- Version: 0.1.116
3
+ Version: 0.1.118
4
4
  Summary: 基于Python的懒人包
5
5
  Home-page: https://gitee.com/ZeroSeeker/lazysdk
6
6
  Author: ZeroSeeker
@@ -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=adZTtQYuVZ2u5jMSRBJlKluGVdN7oHxJsLpxawV1ros,15835
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.116.dist-info/LICENSE,sha256=OC5E4ENUG6B4dGEVGwUpdsD-D9SZsCVC92NAgaqvE-c,1088
38
- lazysdk-0.1.116.dist-info/METADATA,sha256=5GMSOdp66P8qn55oLDh8EWVL_25-K5pfALjq2YlYIrg,1901
39
- lazysdk-0.1.116.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
40
- lazysdk-0.1.116.dist-info/top_level.txt,sha256=--bGS42ZHUhVeO83y1wfvKFg6OjkTLxQ4V4riqPQljY,8
41
- lazysdk-0.1.116.dist-info/RECORD,,
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,,