Programming
3. cheat_sheet
import pandas as pd
def get_blockc_structure():
# Full structure we defined earlier
return [
{"code": "10000", "no": "", "name": "I ДАРАЖАЛИ КАПИТАЛ", "is_header": True, "level": 0},
{"code": "10100", "no": "1", "name": "I ДАРАЖАЛИ АСОСИЙ КАПИТАЛ", "is_header": True, "level": 1},
{"code": "10110", "no": "1.1.", "name": "Оддий акциялар, нетто", "is_header": False, "level": 3, "formula": "1.1 = a - б"},
{"code": "10111", "no": "a", "name": "Тўлиқ тўланган оддий акциялар", "is_header": False, "level": 4},
{"code": "10112", "no": "б", "name": "Минус: Қайта сотиб олинган оддий акциялар", "is_header": False, "level": 4},
{"code": "10120", "no": "1.2.", "name": "Қўшимча капитал (оддий)", "is_header": False, "level": 3},
{"code": "10130", "no": "1.3.", "name": "Тақсимланмаган фойда (зарар), шу жумладан капитал захиралар", "is_header": False, "level": 3, "formula": "1.3 = a + б - в - г"},
{"code": "10131", "no": "a", "name": "Капитал ва бошқа захиралар", "is_header": False, "level": 4},
{"code": "10132", "no": "б", "name": "Тақсимланмаган фойда", "is_header": False, "level": 4},
{"code": "10133", "no": "в", "name": "Ўтган даврлар (йиллар) учун зарарлар", "is_header": False, "level": 4},
{"code": "10134", "no": "г", "name": "Жорий йил учун зарар", "is_header": False, "level": 4},
{"code": "10140", "no": "1.4.", "name": "Банкнинг консолидациялашган I даражали асосий капитал элементлари", "is_header": False, "level": 3},
{"code": "10150", "no": "1.5.", "name": "Чегирмалар ҳисоблангунга қадар жами I даражали асосий капитал", "is_header": True, "level": 3, "formula": "1.5 = 1.1 + 1.2 + 1.3 + 1.4"},
{"code": "10160", "no": "1.6.", "name": "I даражали асосий капиталдан чегирмалар", "is_header": False, "level": 3, "formula": "1.6 = Сумма(a...л)"},
{"code": "10161", "no": "a", "name": "Гудвилл ҳамда банкнинг бошқа номоддий активлари", "is_header": False, "level": 4},
{"code": "10162", "no": "б", "name": "Муддати узайтирилган солиқ талаблари", "is_header": False, "level": 4},
{"code": "10163", "no": "в", "name": "Пул оқимларини хеджирлаш натижасида ҳосил бўлган фойда ёки зарар", "is_header": False, "level": 4},
{"code": "10164", "no": "г", "name": "Активларни секьюритизация қилиш натижасида олинадиган фойда", "is_header": False, "level": 4},
{"code": "10165", "no": "д", "name": "Банкнинг ўз оддий акцияларига тўғридан-тўғри ёки билвосита инвестициялари", "is_header": False, "level": 4},
{"code": "10166", "no": "е", "name": "Банк ва бошқа банк ўзаро акцияларига инвестициялари", "is_header": False, "level": 4},
{"code": "10167", "no": "ж", "name": "Конс. бўлмаган битта ташкилотга инв. банк 1ДАК 15% ошган қисми", "is_header": False, "level": 4},
{"code": "10168", "no": "з", "name": "Конс. бўлмаган ташкилотларга жами инв. банк 1ДАК 50% ошган қисми", "is_header": False, "level": 4},
{"code": "10169", "no": "и", "name": "Улуши сезиларли бўлмаган (≤10%) ташкилотларга инв. банк 1ДАК 10% ошган қисми", "is_header": False, "level": 4},
{"code": "10170", "no": "к", "name": "Улуши сезиларли бўлган (>10%) ташкилотларга инв. банк 1ДАК 10% ошган қисми", "is_header": False, "level": 4},
{"code": "10171", "no": "л", "name": "Банк томонидан муаммоли активлар бўйича қўшимча шакллантирилиши лозим бўлган захиралар", "is_header": False, "level": 4},
{"code": "10900", "no": "I", "name": "I ДАРАЖАЛИ АСОСИЙ КАПИТАЛ", "is_header": True, "level": 2, "formula": "I = 1.5 - 1.6"},
{"code": "20100", "no": "2", "name": "I ДАРАЖАЛИ ҚЎШИМЧА КАПИТАЛ", "is_header": True, "level": 1},
{"code": "20110", "no": "2.1.", "name": "Имтиёзли акциялар", "is_header": False, "level": 3, "formula": "2.1 = a - б"},
{"code": "20111", "no": "a", "name": "Тўлиқ тўланган имтиёзли акциялар", "is_header": False, "level": 4},
{"code": "20112", "no": "б", "name": "Минус: Қайта сотиб олинган имтиёзли акциялар", "is_header": False, "level": 4},
{"code": "20120", "no": "2.2.", "name": "Қўшимча капитал (имтиёзли)", "is_header": False, "level": 3},
{"code": "20130", "no": "2.3.", "name": "I даражали қўшимча капиталга киритилган капитал воситалари", "is_header": False, "level": 3},
{"code": "20140", "no": "2.4.", "name": "Банкнинг консолидациялашган I даражали қўшимча капитал элементлари", "is_header": False, "level": 3},
{"code": "20150", "no": "2.5.", "name": "Чегирмалар ҳисоблангунга қадар жами I даражали қўшимча капитал", "is_header": True, "level": 3, "formula": "2.5 = 2.1 + 2.2 + 2.3 + 2.4"},
{"code": "20160", "no": "2.6.", "name": "I даражали қўшимча капиталдан чегирмалар", "is_header": False, "level": 3, "formula": "2.6 = a + б"},
{"code": "20161", "no": "a", "name": "Банк ўзининг I даражали қўшимча капитал элементларига киритган инвестициялари", "is_header": False, "level": 4},
{"code": "20162", "no": "б", "name": "Банкнинг бошқа банкнинг I даражали қўшимча капиталига киритилган капитал элементларига инвестициялари", "is_header": False, "level": 4},
{"code": "20900", "no": "II", "name": "ЖАМИ I ДАРАЖАЛИ ҚЎШИМЧА КАПИТАЛ", "is_header": True, "level": 2, "formula": "II = 2.5 - 2.6"},
{"code": "30100", "no": "III", "name": "ЖАМИ ТЎҒРИЛАНГАН I ДАРАЖАЛИ КАПИТАЛ", "is_header": True, "level": 2, "formula": "III = I + II"},
{"code": "30110", "no": "3.1.", "name": "I даражали капиталга алоқадор қарз олувчилар бўйича меъёрларни ҳисобга олган ҳолдаги тузатиш", "is_header": False, "level": 3},
{"code": "30900", "no": "ЖАМИ", "name": "ЖАМИ I ДАРАЖАЛИ КАПИТАЛ", "is_header": True, "level": 1, "formula": "ЖАМИ = III - 3.1"},
{"code": "40000", "no": "", "name": "II ДАРАЖАЛИ КАПИТАЛ", "is_header": True, "level": 0},
{"code": "40110", "no": "4.1.", "name": "II даражали капиталга киритилган капитал воситалари", "is_header": False, "level": 3},
{"code": "40120", "no": "4.2.", "name": "Қўшимча капитал (II даражали капитал воситалари бўйича)", "is_header": False, "level": 3},
{"code": "40130", "no": "4.3.", "name": "Жорий йил соф фойдаси", "is_header": False, "level": 3},
{"code": "40140", "no": "4.4.", "name": "Стандарт активларга яратилган захиралар", "is_header": False, "level": 3},
{"code": "40150", "no": "4.5.", "name": "Банкнинг консолидациялашган II даражали капитал элементлари", "is_header": False, "level": 3},
{"code": "40160", "no": "4.6.", "name": "Субординар қарз", "is_header": False, "level": 3},
{"code": "40170", "no": "4.7.", "name": "Чегирмалар ҳисоблангунга қадар жами II даражали капитал", "is_header": True, "level": 3, "formula": "4.7 = 4.1 + 4.2 + 4.3 + 4.4 + 4.5 + 4.6"},
{"code": "40180", "no": "4.8.", "name": "II даражали капиталдан чегирмалар", "is_header": False, "level": 3, "formula": "4.8 = a + б + в"},
{"code": "40181", "no": "a", "name": "Банк ўзининг II даражали капитал элементларига киритган инвестициялари", "is_header": False, "level": 4},
{"code": "40182", "no": "б", "name": "Банкнинг бошқа банкнинг II даражали капиталига инвестициялари", "is_header": False, "level": 4},
{"code": "40183", "no": "в", "name": "II даражали капиталнинг I даражали капиталдан ортиқча қисми (чегирмаси)", "is_header": False, "level": 4},
{"code": "40900", "no": "IV", "name": "ЧЕГИРМАЛАРНИ ҲИСОБГА ОЛГАН ҲОЛДAГИ II ДАРАЖАЛИ КАПИТАЛ", "is_header": True, "level": 2, "formula": "IV = 4.7 - 4.8"},
{"code": "50000", "no": "V", "name": "ЖАМИ РЕГУЛЯТИВ КАПИТАЛ", "is_header": True, "level": 1, "formula": "V = ЖАМИ I ДАРАЖАЛИ КАПИТАЛ + IV"},
{"code": "60000", "no": "VI", "name": "ТАВАККАЛЧИЛИККА ТОРТИЛГАН АКТИВЛАР УМУМИЙ СУММАСИ", "is_header": True, "level": 1, "formula": "VI = a + б + в"},
{"code": "60001", "no": "a", "name": "Баланс ва балансдан ташқари активларнинг умумий суммаси", "is_header": False, "level": 4},
{"code": "60002", "no": "б", "name": "Операцион таваккалчилик", "is_header": False, "level": 4},
{"code": "60003", "no": "в", "name": "Бозор таваккалчилиги", "is_header": False, "level": 4},
{"code": "70100", "no": "VII", "name": "I ДАРАЖАЛИ АСОСИЙ КАПИТАЛНИНГ МОНАДЛИК КОЭФФИЦИЕНТИ (Л/I)", "is_header": True, "level": 2, "formula": "VII = I / VI"},
{"code": "70200", "no": "VIII", "name": "I ДАРАЖАЛИ КАПИТАЛНИНГ МОНАДЛИК КОЭФФИЦИЕНТИ (Ш/I)", "is_header": True, "level": 2, "formula": "VIII = ЖАМИ I ДАРАЖАЛИ КАПИТАЛ / VI"},
{"code": "70300", "no": "IX", "name": "РЕГУЛЯТИВ КАПИТАЛНИНГ МОНАДЛИК КОЭФФИЦИЕНТИ (У/I)", "is_header": True, "level": 2, "formula": "IX = V / VI"},
{"code": "80100", "no": "X", "name": "МИНИМАЛ КАПИТАЛ ТАЛАБЛАРИ (БУФЕРЛАРДАН ТАШҚАРИ)", "is_header": True, "level": 2},
{"code": "80101", "no": "a", "name": "I даражали асосий капиталнинг монадлик коэффициенти", "is_header": False, "level": 4},
{"code": "80102", "no": "б", "name": "I даражали капиталнинг монадлик коэффициенти", "is_header": False, "level": 4},
{"code": "80103", "no": "в", "name": "Регулятив капиталнинг монадлик коэффициенти", "is_header": False, "level": 4},
{"code": "80200", "no": "XI", "name": "ЖАМИ КАПИТАЛ БУФЕРЛАРИ", "is_header": True, "level": 2, "formula": "XI = a + б + в"},
{"code": "80201", "no": "a", "name": "Консервацион капитал буфери коэффициенти", "is_header": False, "level": 4},
{"code": "80202", "no": "б", "name": "Тизимли аҳамиятга эга банклар учун капитал буфери коэффициенти", "is_header": False, "level": 4},
{"code": "80203", "no": "в", "name": "Контрциклик капитал буфери коэффициенти", "is_header": False, "level": 4},
{"code": "80300", "no": "XII", "name": "ЖАМИ КАПИТАЛ БУФЕРЛАРИГА ҚАДАР I ДАРАЖАЛИ АСОСИЙ КАПИТАЛ КОЭФФИЦИЕНТИ*", "is_header": True, "level": 2},
{"code": "80400", "no": "XIII", "name": "ЖАМИ КАПИТАЛ БУФЕРЛАРИ БЎЙИЧА ОРТИҚЧА (+) / ЕТИШМАГАН (-) СУММА", "is_header": True, "level": 2},
{"code": "90100", "no": "XIV", "name": "Левераж ҳисоб-китоби учун активлар", "is_header": True, "level": 2, "formula": "XIV = a + б + в - г"},
{"code": "90101", "no": "a", "name": "Жами активлар", "is_header": False, "level": 4},
{"code": "90102", "no": "б", "name": "Балансдан ташқари активлар", "is_header": False, "level": 4},
{"code": "90103", "no": "в", "name": "Ҳосилавий (дериватив) воситалар", "is_header": False, "level": 4},
{"code": "90104", "no": "г", "name": "Минус: Жами захиралар ва капиталдан чегирмалар", "is_header": False, "level": 4},
{"code": "90200", "no": "XV", "name": "Левераж коэффициенти", "is_header": True, "level": 1, "formula": "XV = I / XIV"}
]
def generate_excel():
data = get_blockc_structure()
# Prepare the list for Pandas
rows = []
for item in data:
rows.append({
"Unique Code": item.get("code", ""),
"No.": item.get("no", ""),
"Indicator Name (Кўрсаткичлар)": item.get("name", ""),
"Formula / Note": item.get("formula", ""),
"Is Header?": "Yes" if item.get("is_header") else ""
})
df = pd.DataFrame(rows)
filename = "BlockC_CheatSheet.xlsx"
# Create an Excel writer using xlsxwriter
writer = pd.ExcelWriter(filename, engine='xlsxwriter')
df.to_excel(writer, sheet_name='Cheat Sheet', index=False)
workbook = writer.book
worksheet = writer.sheets['Cheat Sheet']
# Define formats
header_format = workbook.add_format({
'bold': True, 'text_wrap': True, 'valign': 'top',
'fg_color': '#D7E4BC', 'border': 1
})
highlight_format = workbook.add_format({
'bold': True, 'bg_color': '#F2F2F2', 'border': 1
})
normal_format = workbook.add_format({'text_wrap': True, 'border': 1})
# Set column widths to print nicely on A4
worksheet.set_column('A:A', 12) # Unique Code
worksheet.set_column('B:B', 8) # No.
worksheet.set_column('C:C', 60) # Indicator Name
worksheet.set_column('D:D', 35) # Formula
worksheet.set_column('E:E', 12) # Is Header
# Apply header format
for col_num, value in enumerate(df.columns.values):
worksheet.write(0, col_num, value, header_format)
# Apply row formatting
for row_num in range(len(df)):
is_head = df.iloc[row_num]['Is Header?'] == "Yes"
fmt = highlight_format if is_head else normal_format
worksheet.write(row_num + 1, 0, df.iloc[row_num]['Unique Code'], fmt)
worksheet.write(row_num + 1, 1, df.iloc[row_num]['No.'], fmt)
# Add visual indent for sub-items
name_val = str(df.iloc[row_num]['Indicator Name (Кўрсаткичлар)'])
if not is_head and df.iloc[row_num]['No.'] in ["a", "б", "в", "г", "д", "е", "ж", "з", "и", "к", "л"]:
name_val = " " + name_val
elif not is_head:
name_val = " " + name_val
worksheet.write(row_num + 1, 2, name_val, fmt)
worksheet.write(row_num + 1, 3, df.iloc[row_num]['Formula / Note'], fmt)
worksheet.write(row_num + 1, 4, df.iloc[row_num]['Is Header?'], fmt)
writer.close()
print(f"Success! {filename} has been created in your folder.")
if __name__ == "__main__":
generate_excel()
PO
powerty
Muallif
· Staff
Sen. 15, 2026
Sen. 15, 2026
2
Ko'rishlar
0
Yoqishlar
8m
O'qildi