Xlrd рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдирдЧрд░рдкрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛

рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ (рдмрд╕реНрддрд┐рдпреЛрдВ рдФрд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдмрдЬрдЯ рдХрд╛ рджреГрд╢реНрдп) рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдирдЧрд░рдкрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдФрд░ рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред
рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдорд┐рд▓рд╛ , рд▓реЗрдХрд┐рди рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдирдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХрд╛ рд░реВрдк рд╡рд╛рдВрдЫрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╢реЗрд╖ рд╣реИред
рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдереЗ , рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХреЗ рдкреНрд░рд╛рд░реВрдкрдг рдиреЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдмрдирд╛ рджрд┐рдпрд╛ред рдирдЧрд░рдкрд╛рд▓рд┐рдХрд╛рдУрдВ, рдЬрд┐рд▓реЛрдВ рдФрд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рднреА рдирд╛рдо рдПрдХ рд╕реНрддрдВрдн рдореЗрдВ рд╕реНрдерд┐рдд рдереЗ рдФрд░ рдХреЗрд╡рд▓ рд╕реЗрд▓ рдФрд░ рдлрд╝реЙрдиреНрдЯ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рднрд┐рдиреНрди рдереЗред рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдмреЛрд▓реНрдб рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдмреЛрд▓реНрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╕рдордЭреМрддрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдИ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рднреА рдереАрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдореБрдЭреЗ рдЕрдм рдпрд╛рдж рдирд╣реАрдВ рд╣реИ), рдФрд░ рдЧрдарди рдХреЗ рдирд╛рдо рдХреЗ рдмреАрдЪ рдореЗрдВ рдПрдХ рдФрд░ рдЬрдЧрд╣ рдкрд░ рд▓рд╛рдЗрди рдХреНрд░реЙрд╕рд┐рдВрдЧ рд╣реБрдИ (рдпрд╣ рдХреНрд╖рдг Google рдРрдк рдЗрдВрдЬрди рдореЗрдВ рдЖрдпрд╛рдд рдЪрд░рдг рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрдм рдбреА.рдмреА. StringProperty () рдорд▓реНрдЯреАрд▓рд╛рдЗрди рдкрд░ рд╢рдкрде), рдЗрди рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛ред

рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рддрд░реАрдХреЗ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ, рдореИрдВ xlrd рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЖрдпрд╛, рдЬрд┐рд╕рдХреА рдХреНрд╖рдорддрд╛рдПрдВ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВред рдЖрдк рдпрд╣рд╛рдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдкреНрд░рд╛рд░реВрдкрдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЖрдпрд╛рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдХреЛрдб рдФрд░ рдЙрдкрд▓рдмреНрдз рдкреИрд░рд╛рдореАрдЯрд░ рджреЗ рджреВрдВрдЧрд╛ред
рд╕реЗрд▓ рдкреНрд░рд╛рд░реВрдкрдг рдФрд░ рдлрд╝реЙрдиреНрдЯ рдкреНрд░рдХрд╛рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ:
рд╕реЗрд▓
рд╕рдВрд░реЗрдЦрдг (XFAlignment рдСрдмреНрдЬреЗрдХреНрдЯ):
рдХреНрд╖рд┐рддрд┐рдЬ_рдЧрдг: реж
indent_level: 0
рд░реЛрдЯреЗрд╢рди: 0
рд╕рдВрдХреЛрдЪрди_рддреЛ_рдлрд┐рдЯ: 0
text_direction: 0
text_wrapped: 0
vert_align: 2
рдкреГрд╖реНрдарднреВрдорд┐ (XFBackground рдСрдмреНрдЬреЗрдХреНрдЯ):
background_colour_index: 65
fill_pattern: 0
pattern_colour_index: 64
рд╕реАрдорд╛ (XFBorder рдСрдмреНрдЬреЗрдХреНрдЯ):
bottom_colour_index: 64
рдирд┐рдЪрд▓рд╛_рд▓рд╛рдЗрди_рд╕реНрдЯрд╛рдЗрд▓: 7
diag_colour_index: 0
diag_down: 0
diag_line_style: 0
diag_up: 0
left_colour_index: 64
left_line_style: 1
right_colour_index: 64
right_line_style: 1
top_colour_index: 64
top_line_style: 1
font_index: 7
format_key: 0
is_style: 0
рдХрдорд▓_123_ рдЙрдкрд╕рд░реНрдЧ: реж
parent_style_index: 0
рд╕рдВрд░рдХреНрд╖рдг (XFProtection рд╡рд╕реНрддреБ):
cell_locked: 1
рд╕реВрддреНрд░_рд╣реЗрдб: 0
xf_index: 556

рдлрд╝реЙрдиреНрдЯ
struck_out: 0
underline_type: 0
рд░реЗрдЦрд╛рдВрдХрд┐рдд: реж
рд╡рдЬрди: 400
рдмреЛрд▓реНрдб: 1
character_set: 204
color_index: 32767
рднрд╛рдЧрдиреЗ_рдкреНрд░рдХрд╛рд░: реж
рдкрд░рд┐рд╡рд╛рд░: 0
font_index: 10
рдКрдВрдЪрд╛рдИ: 200
рдЗрдЯреИрд▓рд┐рдХ: 1
рдирд╛рдо: u'Arial Cyr '
рд░реВрдкрд░реЗрдЦрд╛: 0
рдЫрд╛рдпрд╛: 0

рдореИрдВрдиреЗ рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд╣реАрдВ рд╕рдордЭрд╛, рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП, рд╕реЗрд▓ рдореЗрдВ рдлрд╝реЙрдиреНрдЯ рдкреНрд░рдХрд╛рд░ рдФрд░ рдЗрдВрдбреЗрдВрдЯ (рдкрд╣рдЪрд╛рди) рдореЗрд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдереЗред рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдорд╣рд╛рди рд╣реИрдВ, рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕реЗрд▓ рдмреЙрд░реНрдбрд░ рдпрд╛ рд▓рд╛рдЗрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд░рдВрдЧ рдХреЗ рдареАрдХ рдиреАрдЪреЗред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб
# -*- coding: utf-8 -*- from __future__ import unicode_literals import xlrd import json rb = xlrd.open_workbook('Tabl-35-12.xls', formatting_info=True) font_list = rb.font_list # list of all fonts in excel table sheet = rb.sheet_by_index(1) rows_number = sheet.nrows peoples_dict = {} # main dict for rownum in range(7, rows_number): # data starts with line 7 cell = sheet.cell(rownum, 0) value = cell.value.strip().replace('\n', ' ') # delete spaces at start and end peoples_count = sheet.cell(rownum, 1).value if peoples_count == 0 or peoples_count == '': # empty row - continue continue peoples_count = int(peoples_count) # from 12313.0 to integer cell_format = rb.xf_list[cell.xf_index] current_font = font_list[cell_format.font_index] bold = bool(current_font.bold) italic = bool(current_font.italic) indent = cell_format.alignment.indent_level is_region = bold and not italic is_raion = bold and italic is_municipal = (indent == 2) if is_region: region = value peoples_dict[region] = {'count': peoples_count} elif is_raion: raion = value peoples_dict[region][raion] = {'count': peoples_count} elif is_municipal: municipal = value peoples_dict[region][raion][municipal] = {'count': peoples_count} print peoples_dict[' ']['  ']['  ']['count'] with open('peoples.json', 'w') as outfile: json.dump(peoples_dict, outfile) 



рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ - рдкрд░рд┐рдгрд╛рдореА рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓, json рдкреНрд░рд╛рд░реВрдк рдореЗрдВ ред рд╕рдВрд░рдЪрдирд╛ - рдиреЗрд╕реНрдЯреЗрдб рд╢рдмреНрджрдХреЛрд╢реЛрдВ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдореЗрдВ рдХреБрдВрдЬреА 'рдЧрд┐рдирддреА' рд╣реЛрддреА рд╣реИ, рдЬрд╣рд╛рдВ рд╢рд┐рдХреНрд╖рд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ рджрд░реНрдЬ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╡рдВрд╢рдЬреЛрдВ рдХреА рдХреБрдВрдЬреАред
рдЕрд░реНрдерд╛рддреН, рдореЙрд╕реНрдХреЛ рдХреНрд╖реЗрддреНрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:
 peoples_dict[' ']['count'] 

рдФрд░ рдЗрд╕реНрддрд░рд╛ рдирдЧрд░ рдЬрд┐рд▓реЗ рдХреЗ рдЗрд╕реНрддрд░рд╛ рд╢рд╣рд░ рдХрд╛ рдЖрдХрд╛рд░ рд╣реИ:
 peoples_dict[' ']['  ']['  ']['count'] 

Source: https://habr.com/ru/post/In182548/


All Articles