update classify
Showing
2 changed files
with
95 additions
and
18 deletions
... | @@ -11,7 +11,7 @@ DATE_FORMAT = ['%Y年%m月%d日', '%Y/%m/%d', '%Y-%m-%d', '%Y%m%d'] | ... | @@ -11,7 +11,7 @@ DATE_FORMAT = ['%Y年%m月%d日', '%Y/%m/%d', '%Y-%m-%d', '%Y%m%d'] |
11 | FIXED_APPLICATION_ID_PREFIX = 'CH-S' | 11 | FIXED_APPLICATION_ID_PREFIX = 'CH-S' |
12 | 12 | ||
13 | DOC_SCHEME_LIST = ['ACCEPTANCE', 'SETTLEMENT', 'CONTRACT MANAGEMENT'] | 13 | DOC_SCHEME_LIST = ['ACCEPTANCE', 'SETTLEMENT', 'CONTRACT MANAGEMENT'] |
14 | DATA_SOURCE_LIST = ['POS', 'E-APP', 'ECONTRACT'] | 14 | DATA_SOURCE_LIST = ['POS', 'EAPP', 'ECONTRACT'] |
15 | 15 | ||
16 | HIL_PREFIX = 'HIL' | 16 | HIL_PREFIX = 'HIL' |
17 | AFC_PREFIX = 'AFC' | 17 | AFC_PREFIX = 'AFC' |
... | @@ -289,27 +289,36 @@ HEADERS_MAPPING.update( | ... | @@ -289,27 +289,36 @@ HEADERS_MAPPING.update( |
289 | 289 | ||
290 | # ('记账日期', '记账时间', '金额', '余额', '交易名称', '附言', '对方账户名', '对方卡号/账号', '对方开户行', '核对结果', '借贷', '收入', '支出') | 290 | # ('记账日期', '记账时间', '金额', '余额', '交易名称', '附言', '对方账户名', '对方卡号/账号', '对方开户行', '核对结果', '借贷', '收入', '支出') |
291 | # CLASSIFY_LIST = [ | 291 | # CLASSIFY_LIST = [ |
292 | # # --------------普通打印:全格线--------------------------------- | ||
293 | # # 中国银行:记账日期 记账时间 币别 金额 余额 交易名称 渠道 网点名称 附言 对方账户名 对方卡号/账号 对方开户行 | ||
292 | # ('中国银行', (1, 2, 4, 5, 6, 9, 10, 11, 12, None, None, None, None)), # 横版-表格-中国银行(不规则) | 294 | # ('中国银行', (1, 2, 4, 5, 6, 9, 10, 11, 12, None, None, None, None)), # 横版-表格-中国银行(不规则) |
295 | # | ||
296 | # # 农业银行:交易日期 交易网点 存入 支出 余额 对方账号 对方名称 摘要 渠道 附言 | ||
293 | # ('农业银行', (1, None, 3, 5, None, 8, 7, 6, None, None, None, None, None)), # 横版-表格-农业银行-中国农业银行个人账户明细 | 297 | # ('农业银行', (1, None, 3, 5, None, 8, 7, 6, None, None, None, None, None)), # 横版-表格-农业银行-中国农业银行个人账户明细 |
298 | # | ||
299 | # # 北京银行:交易日期 业务摘要 收/支 发生额 余额 对方户名 对方账号 交易渠道 | ||
294 | # ('北京银行', (1, None, 4, 5, None, 2, 6, 7, None, None, 3, None, None)), # 横版-表格-北京银行 | 300 | # ('北京银行', (1, None, 4, 5, None, 2, 6, 7, None, None, 3, None, None)), # 横版-表格-北京银行 |
295 | # | 301 | # |
296 | # # 工商银行:交易日期 账号 储种 序号 币种 钞汇 摘要 地区 收入/支出金额 余额 [对方户名 对方账号] 渠道 | 302 | # # 工商银行:交易日期 账号 储种 序号 币种 钞汇 摘要 地区 收入/支出金额 余额 [对方户名 对方账号] 渠道 |
297 | # ('工商银行', (1, None, 9, 10, None, 7, None, None, None, None, None, None, None)), | 303 | # ('工商银行', (1, None, 9, 10, None, 7, None, None, None, None, None, None, None)), |
298 | # | 304 | # |
299 | # # 建设银行:空 摘要 交易日期 交易金额 账户余额 商户/网点号及其名称 对方账号与户名 --> 竖版-表格-建设银行 | 305 | # # 建设银行:空 摘要 交易日期 交易金额 账户余额 商户/网点号及其名称 对方账号与户名 --> 竖版-表格-建设银行 |
300 | # # 序号 摘要 币别 钞汇 交易日期 交易金额 账户余额 交易地点附言 对方账号与户名 --> 横版-表格-建设银行 | 306 | # # 序号 摘要 币别 钞汇 交易日期 交易金额 账户余额 交易地点附言 对方账号与户名 --> 横版-表格-建设银行 |
301 | # ('建设银行', (None, None, None, None, None, 2, None, None, None, None, None, None, None)), | 307 | # ('建设银行', (None, None, None, None, None, 2, None, None, None, None, None, None, None)), |
302 | # | 308 | # |
303 | # # 微信:交易单号 交易时间 交易类型 收/支/其他 交易方式 金额(元) 交易对方 商户单号 | 309 | # # 微信:交易单号 交易时间 交易类型 收/支/其他 交易方式 金额(元) 交易对方 商户单号 |
310 | # ('微信', (2, None, 6, None, None, 3, 7, None, None, None, None, None, None)), | ||
304 | # | 311 | # |
305 | # # 支付宝:流水号 时间 名称/备注 收入 支出 账户余额 资金渠道 | 312 | # # 支付宝:流水号 时间 名称/备注 收入 支出 账户余额 资金渠道 |
313 | # ('支付宝', (2, None, None, 6, None, 3, None, None, None, None, None, 4, 5)), | ||
306 | # | 314 | # |
307 | # # ----------------- | 315 | # # -----------------普通打印:部分格线-------------------------------- |
308 | # | 316 | # |
309 | # # 农业银行:交易日期 摘要/附言 交易金额 余额 交易地点/对方账号和户名 | 317 | # # 农业银行:交易日期 摘要/附言 交易金额 余额 交易地点/对方账号和户名 |
310 | # ('农业银行', (1, None, 3, 4, None, 2, None, 5, None, None, None, None, None)), | 318 | # ('农业银行', (1, None, 3, 4, None, 2, None, 5, None, None, None, None, None)), |
311 | # | 319 | # |
312 | # # 农商行:交易日期 交易发生额 账户余额 对方账号 对方户名 摘要 备注 | 320 | # # 农商行:交易日期 交易发生额 账户余额 对方账号 对方户名 摘要 备注 |
321 | # ('农商行', (1, None, 2, 3, None, 6, 5, 4, None, None, None, None, None)), | ||
313 | # | 322 | # |
314 | # # 中信银行:交易日期 交易摘要 收入金额 支出金额 账户余额 对方户名 对方账号 对方银行 交易流水号 | 323 | # # 中信银行:交易日期 交易摘要 收入金额 支出金额 账户余额 对方户名 对方账号 对方银行 交易流水号 |
315 | # ('中信银行', (1, None, None, 5, None, 2, 6, 7, 8, None, None, 3, 4)), | 324 | # ('中信银行', (1, None, None, 5, None, 2, 6, 7, 8, None, None, 3, 4)), |
... | @@ -317,39 +326,52 @@ HEADERS_MAPPING.update( | ... | @@ -317,39 +326,52 @@ HEADERS_MAPPING.update( |
317 | # # 平安电子账单:序号 交易日期 交易网点 摘要 借贷发生额(借:-贷:+) 账户余额 | 326 | # # 平安电子账单:序号 交易日期 交易网点 摘要 借贷发生额(借:-贷:+) 账户余额 |
318 | # ('平安电子账单', (2, None, 5, 6, None, 4, None, None, None, None, None, None, None)), | 327 | # ('平安电子账单', (2, None, 5, 6, None, 4, None, None, None, None, None, None, None)), |
319 | # | 328 | # |
320 | # # ------------------------- | 329 | # # -----------------普通打印:无格线------------------------------------- |
321 | # | 330 | # |
322 | # # 招商银行:记账日期 货币 交易金额 联机余额 冲补账 交易摘要 | 331 | # # 招商银行:记账日期 货币 交易金额 联机余额 冲补账 交易摘要 |
332 | # ('招商银行', (1, None, 3, 4, None, 6, None, None, None, None, None, None, None)), | ||
323 | # | 333 | # |
324 | # # 邮储银行:交易日期、交易类型 交易币种 交易金额(元) 账户余额(元) [对手方户名 对手方账户 收支类型] --> 竖版-无表格-邮储银行-账户对账单 含有对手方户名 对手方账户 | 334 | # # 邮储银行:交易日期、交易类型 交易币种 交易金额(元) 账户余额(元) [对手方户名 对手方账户 收支类型] --> 竖版-无表格-邮储银行-账户对账单 含有对手方户名 对手方账户 |
325 | # # 交易日期、交易类型 交易金额(元) 账户余额(元) 操作柜员 --> 竖版-无表格-邮储银行 账户对账单 | 335 | # # 交易日期、交易类型 交易金额(元) 账户余额(元) 操作柜员 --> 竖版-无表格-邮储银行 账户对账单 |
336 | # ('邮储银行', (1, None, None, None, None, 2, None, None, None, None, None, None, None)), | ||
326 | # | 337 | # |
327 | # # 工商银行电子版:交易日期 账号 储种 序号 币种 妙汇 摘要 地区 收入/支出金额 余额 [对方户名 对方账号] 渠道 | 338 | # # 工商银行电子版:交易日期 账号 储种 序号 币种 妙汇 摘要 地区 收入/支出金额 余额 [对方户名 对方账号] 渠道 |
339 | # ('工商银行电子版', (1, None, 9, 10, None, 7, None, None, None, None, None, None, None)), | ||
328 | # | 340 | # |
329 | # # 招商银行电子版:记账日期 货币 交易金额 联机余额 交易摘要 对手信息 | 341 | # # 招商银行电子版:记账日期 货币 交易金额 联机余额 交易摘要 对手信息 |
342 | # ('招商银行电子版', (1, None, 3, 4, None, 5, 6, None, None, None, None, None, None)), | ||
330 | # | 343 | # |
331 | # # 民生银行:凭证类型 凭证号码 摘要信息 交易时间 交易金额 账户余额 现转标志 交易渠道 交易机构 对方户名 对方行名 | 344 | # # 民生银行:凭证类型 凭证号码 摘要信息 交易时间 交易金额 账户余额 现转标志 交易渠道 交易机构 对方户名 对方行名 --> 横版-无表格-民生银行-中国民生银行个人账户对账单(客户卡号) |
332 | # # 凭证类型 凭证号码 交易时间 摘要 交易金额 账户余额 现转标志 交易渠道 交易机构 对方户名 对方行名 | 345 | # # 凭证类型 凭证号码 交易时间 摘要 交易金额 账户余额 现转标志 交易渠道 交易机构 对方户名 对方行名 --> 横版-无表格-民生银行 |
346 | # ('民生银行', (None, None, 5, 6, None, None, 7, None, 8, None, None, None, None)), | ||
333 | # | 347 | # |
334 | # # 农业银行:交易日期 摘要/附言 交易金额 对方账号和户名 | 348 | # # 农业银行:交易日期 摘要/附言 交易金额 对方账号和户名 |
349 | # ('农业银行', (1, None, 3, None, None, 2, None, 4, None, None, None, None, None)), | ||
335 | # | 350 | # |
336 | # # 农业银行:交易日期 摘要/附言 交易金额 余额 交易地点/对方账号和户名 | 351 | # # 农业银行:交易日期 摘要/附言 交易金额 余额 交易地点/对方账号和户名 |
352 | # ('农业银行', (1, None, 3, 4, None, 2, None, 5, None, None, None, None, None)), | ||
337 | # | 353 | # |
338 | # # 农业银行:日期、时间、[日志号]、短摘要、交易金额、本次余额、交易网点、渠道、附言 | 354 | # # 农业银行:日期、时间、[日志号]、短摘要、交易金额、本次余额、交易网点、渠道、附言 |
355 | # ('农业银行', (1, 2, None, None, None, None, None, None, None, None, None, None, None)), | ||
339 | # | 356 | # |
340 | # # 交通银行:交易日期 记账日期、交易地点、交易类型、借贷状态、交易金额、余额 | 357 | # # 交通银行:交易日期 记账日期、交易地点、交易类型、借贷状态、交易金额、余额 |
358 | # ('交通银行', (1, None, 5, 6, None, 3, None, None, None, None, 4, None, None)), | ||
341 | # | 359 | # |
342 | # # =================================== | ||
343 | # | 360 | # |
344 | # # 建设银行:摘要、交易日期、交易金额、账户余额、商户/网点号及其名称、对方账号、对方户名 | 361 | # # ================针式打印:有格线=================== |
345 | # # 交易日期、摘要、币种、钞汇、交易金额、帐户余额、对方账号、对方帐户名称 | ||
346 | # | 362 | # |
363 | # # 建设银行: 摘要、交易日期、交易金额、账户余额、商户/网点号及其名称、对方账号、对方户名 --> 竖版-表格-建设银行-中国建设银行活期账户明细清单 | ||
364 | # # 交易日期、摘要、 币种、 钞汇、 交易金额、 帐户余额、对方账号、 对方帐户名称 --> 竖版-表格-建设银行-对私活期账户明细- (1) | ||
365 | # ('建设银行', (None, None, None, None, None, None, None, None, None, None, None, None, None)), | ||
347 | # | 366 | # |
348 | # # =================================== | 367 | # |
368 | # # ================针式打印:无格线=================== | ||
349 | # | 369 | # |
350 | # # 邮储银行:序号、交易日期、交易渠道、摘要、交易金额、账户余额、对方账号/卡号/汇票号、原子账号、交易机构名称 | 370 | # # 邮储银行:序号、交易日期、交易渠道、摘要、交易金额、账户余额、对方账号/卡号/汇票号、原子账号、交易机构名称 |
371 | # ('邮储银行', (2, None, 5, 6, None, 4, None, 7, None, None, None, None, None)), | ||
351 | # | 372 | # |
352 | # # 建设银行:序号 摘要 币别 钞汇 交易日期 交易金额 账户余额 交易地点附言 对方账号与户名 | 373 | # # 建设银行:序号 摘要 币别 钞汇 交易日期 交易金额 账户余额 交易地点附言 对方账号与户名 |
374 | # ('建设银行', (5, None, 6, 7, None, 2, None, 9, None, None, None, None, None)), | ||
353 | # ] | 375 | # ] |
354 | 376 | ||
355 | # { | 377 | # { |
... | @@ -364,6 +386,7 @@ HEADERS_MAPPING.update( | ... | @@ -364,6 +386,7 @@ HEADERS_MAPPING.update( |
364 | # "8": "部分格线-竖版-中国农业银行分账户(窄页)", | 386 | # "8": "部分格线-竖版-中国农业银行分账户(窄页)", |
365 | # "9": "部分格线-竖版-平安电子账单" | 387 | # "9": "部分格线-竖版-平安电子账单" |
366 | # } | 388 | # } |
389 | |||
367 | CLASSIFY_LIST = [ | 390 | CLASSIFY_LIST = [ |
368 | ('农业银行', (1, None, 3, 5, None, 8, 7, 6, None, None, None, None, None)), | 391 | ('农业银行', (1, None, 3, 5, None, 8, 7, 6, None, None, None, None, None)), |
369 | ('中国银行', (1, 2, 4, 5, 6, 9, 10, 11, 12, None, None, None, None)), | 392 | ('中国银行', (1, 2, 4, 5, 6, 9, 10, 11, 12, None, None, None, None)), |
... | @@ -377,3 +400,59 @@ CLASSIFY_LIST = [ | ... | @@ -377,3 +400,59 @@ CLASSIFY_LIST = [ |
377 | ('平安电子账单', (2, None, 5, 6, None, 4, None, None, None, None, None, None, None)), | 400 | ('平安电子账单', (2, None, 5, 6, None, 4, None, None, None, None, None, None, None)), |
378 | ] | 401 | ] |
379 | 402 | ||
403 | # { | ||
404 | # "0":"其他", | ||
405 | # "1":"普通打印-全表格-中国农业银行", | ||
406 | # "2":"普通打印-全表格-中国银行", | ||
407 | # "3":"普通打印-全表格-北京银行", | ||
408 | # "4":"普通打印-全表格-工商银行", | ||
409 | # "5":"普通打印-全表格-建设银行", | ||
410 | # "6":"普通打印-全表格-微信账单", | ||
411 | # "7":"普通打印-全表格-支付宝账单", | ||
412 | # "8":"普通打印-无格线-中国邮政储蓄银行", | ||
413 | |||
414 | # "9":"普通打印-无格线-交通银行", | ||
415 | # "10":"普通打印-无格线-农业银行整数", | ||
416 | # "11":"普通打印-无格线-农业银行银行活期扩张缩进", | ||
417 | # "12":"普通打印-无格线-招商银行", | ||
418 | # "13":"普通打印-无格线-招行电子账单", | ||
419 | # "14":"普通打印-无格线-民生银行", | ||
420 | |||
421 | # "15":"普通打印-部分格线-横版-中信银行", | ||
422 | # "16":"普通打印-部分格线-竖版-中国农业银行分账户窄页", | ||
423 | # "17":"普通打印-部分格线-竖版-农业银行", | ||
424 | # "18":"普通打印-部分格线-竖版-农业银行银行卡交易明细", | ||
425 | # "19":"普通打印-部分格线-竖版-平安电子账单", | ||
426 | |||
427 | # "20":"针式打印-全格线-建设银行", | ||
428 | # "21":"针式打印-部分格线-竖版-邮储银行账户交易", | ||
429 | # "22":"针式打印-部分格线-邮储银行一本通绿卡" | ||
430 | # } | ||
431 | |||
432 | # CLASSIFY_LIST = [ | ||
433 | # ('其他', (None, None, None, None, None, None, None, None, None, None, None, None, None)), | ||
434 | # ('农业银行', (1, None, 3, 5, None, 8, 7, 6, None, None, None, None, None)), | ||
435 | # ('中国银行', (1, 2, 4, 5, 6, 9, 10, 11, 12, None, None, None, None)), | ||
436 | # ('北京银行', (1, None, 4, 5, None, 2, 6, 7, None, None, 3, None, None)), | ||
437 | # ('工商银行', (1, None, 9, 10, None, 7, None, None, None, None, None, None, None)), | ||
438 | # ('建设银行', (None, None, None, None, None, 2, None, None, None, None, None, None, None)), | ||
439 | # ('微信', (2, None, 6, None, None, 3, 7, None, None, None, None, None, None)), | ||
440 | # ('支付宝', (2, None, None, 6, None, 3, None, None, None, None, None, 4, 5)), | ||
441 | # | ||
442 | # ('交通银行', (1, None, 5, 6, None, 3, None, None, None, None, 4, None, None)), | ||
443 | # ('农业银行', (1, None, 3, None, None, 2, None, 4, None, None, None, None, None)), | ||
444 | # ('农业银行', (1, 2, None, None, None, None, None, None, None, None, None, None, None)), | ||
445 | # ('招商银行', (1, None, 3, 4, None, 6, None, None, None, None, None, None, None)), | ||
446 | # ('招商银行电子版', (1, None, 3, 4, None, 5, 6, None, None, None, None, None, None)), | ||
447 | # ('民生银行', (None, None, 5, 6, None, None, 7, None, 8, None, None, None, None)), | ||
448 | # | ||
449 | # ('中信银行', (1, None, None, 5, None, 2, 6, 7, 8, None, None, 3, 4)), | ||
450 | # ('农业银行', (1, None, 3, 4, None, 2, None, 5, None, None, None, None, None)), | ||
451 | # ('农业银行', (1, None, 3, 4, None, 2, None, 5, None, None, None, None, None)), | ||
452 | # ('农业银行', (1, None, 3, 4, None, 2, None, 5, None, None, None, None, None)), | ||
453 | # ('平安电子账单', (2, None, 5, 6, None, 4, None, None, None, None, None, None, None)), | ||
454 | # | ||
455 | # ('建设银行', (None, None, None, None, None, None, None, None, None, None, None, None, None)), | ||
456 | # ('邮储银行', (2, None, 5, 6, None, 4, None, 7, None, None, None, None, None)), | ||
457 | # ('邮储银行', (2, None, 5, 6, None, 4, None, 7, None, None, None, None, None)), | ||
458 | # ] | ... | ... |
... | @@ -38,7 +38,7 @@ class BSWorkbook(Workbook): | ... | @@ -38,7 +38,7 @@ class BSWorkbook(Workbook): |
38 | for col in range(consts.FIXED_COL_AMOUNT + 1, ws.max_column + 1): | 38 | for col in range(consts.FIXED_COL_AMOUNT + 1, ws.max_column + 1): |
39 | header_value = ws.cell(1, col).value | 39 | header_value = ws.cell(1, col).value |
40 | header_col = consts.HEADERS_MAPPING.get(header_value) | 40 | header_col = consts.HEADERS_MAPPING.get(header_value) |
41 | if header_col is not None: | 41 | if header_col is not None and header_col not in header_col_set: |
42 | letter = get_column_letter(col) | 42 | letter = get_column_letter(col) |
43 | ws.move_range("{0}1:{0}{1}".format(letter, ws.max_row), cols=header_col - col) | 43 | ws.move_range("{0}1:{0}{1}".format(letter, ws.max_row), cols=header_col - col) |
44 | moved_col_set.add(col) | 44 | moved_col_set.add(col) |
... | @@ -63,7 +63,7 @@ class BSWorkbook(Workbook): | ... | @@ -63,7 +63,7 @@ class BSWorkbook(Workbook): |
63 | for header_col in range(1, consts.FIXED_COL_AMOUNT + 1): | 63 | for header_col in range(1, consts.FIXED_COL_AMOUNT + 1): |
64 | if header_col in header_col_set or header_col == consts.RESULT_HEADER_COL: | 64 | if header_col in header_col_set or header_col == consts.RESULT_HEADER_COL: |
65 | continue | 65 | continue |
66 | fix_col = consts.CLASSIFY_LIST[classify][1][header_col - 1] # TODO 合并分类情况 | 66 | fix_col = consts.CLASSIFY_LIST[classify][1][header_col - 1] |
67 | if fix_col is None: | 67 | if fix_col is None: |
68 | continue | 68 | continue |
69 | fix_col = fix_col + consts.FIXED_COL_AMOUNT | 69 | fix_col = fix_col + consts.FIXED_COL_AMOUNT |
... | @@ -250,7 +250,7 @@ class BSWorkbook(Workbook): | ... | @@ -250,7 +250,7 @@ class BSWorkbook(Workbook): |
250 | # 3.4.余额转数值 | 250 | # 3.4.余额转数值 |
251 | try: | 251 | try: |
252 | try: | 252 | try: |
253 | if isinstance(amount_cell.value, str): | 253 | if isinstance(amount_cell.value, str): # TODO 可在转化数字失败后,再替换 |
254 | amount_cell.value = amount_cell.value.translate(consts.TRANS) | 254 | amount_cell.value = amount_cell.value.translate(consts.TRANS) |
255 | amount_cell.value = locale.atof(amount_cell.value) | 255 | amount_cell.value = locale.atof(amount_cell.value) |
256 | except Exception as e: | 256 | except Exception as e: |
... | @@ -337,8 +337,6 @@ class BSWorkbook(Workbook): | ... | @@ -337,8 +337,6 @@ class BSWorkbook(Workbook): |
337 | end_date = max(date_list) if end_date is None else end_date | 337 | end_date = max(date_list) if end_date is None else end_date |
338 | 338 | ||
339 | # 2.元信息提取表 | 339 | # 2.元信息提取表 |
340 | bank_name = consts.CLASSIFY_LIST[summary['classify']][0] | ||
341 | base_sheet_name = '{0}_{1}'.format(bank_name, summary['role']) | ||
342 | ms = self.build_meta_sheet(card, | 340 | ms = self.build_meta_sheet(card, |
343 | summary['classify'], | 341 | summary['classify'], |
344 | summary['confidence'], | 342 | summary['confidence'], |
... | @@ -354,7 +352,7 @@ class BSWorkbook(Workbook): | ... | @@ -354,7 +352,7 @@ class BSWorkbook(Workbook): |
354 | is_reverse = True | 352 | is_reverse = True |
355 | for month_list in month_mapping.values(): | 353 | for month_list in month_mapping.values(): |
356 | month_list.sort(key=lambda x: x[-1], reverse=True) | 354 | month_list.sort(key=lambda x: x[-1], reverse=True) |
357 | self.build_month_sheet(base_sheet_name, month_mapping, ms, is_reverse) | 355 | self.build_month_sheet(card, month_mapping, ms, is_reverse) |
358 | 356 | ||
359 | # 4.删除原表 | 357 | # 4.删除原表 |
360 | for sheet in summary['sheet']: | 358 | for sheet in summary['sheet']: | ... | ... |
-
Please register or sign in to post a comment