python - python / 我觉得可以简单写一下,但是不知道
问题描述
这是我写的代码。将JSON数据输入EXEL。
我试过 .format() 但失败了。
我觉得效率太低了。我应该怎么做才能让它变得简单?
请求帮忙
数据:
{"Y": ["1950","1951","1952","1953","1954","1955"],
"DATA":[
{"M":"1월",
"DATA1":164, "DATA2":173, "DATA3":2374,
"DATA4":183, "DATA5":186, "DATA6":2374,
"DATA7":151, "DATA8":145
},
{"M":"2월",
"DATA1":174, "DATA2":138, "DATA3":2374,
"DATA4":178, "DATA5":104, "DATA6":2374,
"DATA7":178, "DATA8":142
},
{"M":"3월",
"DATA1":135,"DATA2":173,"DATA3":2374,
"DATA4":104,"DATA5":176,"DATA6":2374,
"DATA7":134,"DATA8":178
},
{"M":"4월",
"DATA1":178,"DATA2":102,"DATA3":2374,
"DATA4":175,"DATA5":142,"DATA6":2374,
"DATA7":101,"DATA8":112
},
{"M":"5월",
"DATA1":135,"DATA2":168,"DATA3":2374,
"DATA4":127,"DATA5":104,"DATA6":2374,
"DATA7":167,"DATA8":183
},
{"M":"6월",
"DATA1":102,"DATA2":175,"DATA3":2374,
"DATA4":178,"DATA5":190,"DATA6":2374,
"DATA7":197,"DATA8":180},
{"M":"7월",
"DATA1":135,"DATA2":105,"DATA3":2374,
"DATA4":168,"DATA5":145,"DATA6":2374,
"DATA7":199,"DATA8":140},
{"M":"8월",
"DATA1":178,"DATA2":137,"DATA3":2374,
"DATA4":100,"DATA5":168,"DATA6":2374,
"DATA7":142,"DATA8":199
},
{"M":"9월",
"DATA1":135,"DATA2":175,"DATA3":2374,
"DATA4":135,"DATA5":124,"DATA6":2374,
"DATA7":176,"DATA8":125
},
{"M":"10월",
"DATA1":140,"DATA2":105,"DATA3":2374,
"DATA4":133,"DATA5":133,"DATA6":2374,
"DATA7":104,"DATA8":104
},
{"M":"11월",
"DATA1":199,"DATA2":178,"DATA3":2374,
"DATA4":170,"DATA5":157,"DATA6":2374,
"DATA7":178,"DATA8":167
},
{"M":"12월",
"DATA1":138,"DATA2":196,"DATA3":2374,
"DATA4":109,"DATA5":107,"DATA6":2374,
"DATA7":100,"DATA8":104
}
],
"단위":"건","오차":"5%"
}
代码:
import json
from openpyxl import Workbook
wb = Workbook()
wb.save('test1.xlsx')
sheet1 = wb.active
sheet1.title = 'abcd'
with open('getdata.JSON', encoding='UTF8') as resp:
project_info = json.load(resp)
sheet1['B10'] = project_info['Y'][0]
sheet1['C10'] = project_info['Y'][1]
sheet1['D10'] = project_info['Y'][2]
sheet1['E10'] = project_info['Y'][3]
sheet1['F10'] = project_info['Y'][4]
sheet1['G10'] = project_info['Y'][5]
sheet1['A11'] = project_info['DATA'][0].get('M')
sheet1['A12'] = project_info['DATA'][1].get('M')
sheet1['A13'] = project_info['DATA'][2].get('M')
sheet1['A14'] = project_info['DATA'][3].get('M')
sheet1['A15'] = project_info['DATA'][4].get('M')
sheet1['A16'] = project_info['DATA'][5].get('M')
sheet1['A17'] = project_info['DATA'][6].get('M')
sheet1['A18'] = project_info['DATA'][7].get('M')
sheet1['A19'] = project_info['DATA'][8].get('M')
sheet1['A20'] = project_info['DATA'][9].get('M')
sheet1['A21'] = project_info['DATA'][10].get('M')
sheet1['A22'] = project_info['DATA'][11].get('M')
sheet1['B11'] = project_info['DATA'][0].get('DATA1')
sheet1['B12'] = project_info['DATA'][1].get('DATA1')
sheet1['B13'] = project_info['DATA'][2].get('DATA1')
sheet1['B14'] = project_info['DATA'][3].get('DATA1')
sheet1['B15'] = project_info['DATA'][4].get('DATA1')
sheet1['B16'] = project_info['DATA'][5].get('DATA1')
sheet1['B17'] = project_info['DATA'][6].get('DATA1')
sheet1['B18'] = project_info['DATA'][7].get('DATA1')
sheet1['B19'] = project_info['DATA'][8].get('DATA1')
sheet1['B20'] = project_info['DATA'][9].get('DATA1')
sheet1['B21'] = project_info['DATA'][10].get('DATA1')
sheet1['B22'] = project_info['DATA'][11].get('DATA1')
sheet1['C11'] = project_info['DATA'][0].get('DATA2')
sheet1['C12'] = project_info['DATA'][1].get('DATA2')
sheet1['C13'] = project_info['DATA'][2].get('DATA2')
sheet1['C14'] = project_info['DATA'][3].get('DATA2')
sheet1['C15'] = project_info['DATA'][4].get('DATA2')
sheet1['C16'] = project_info['DATA'][5].get('DATA2')
sheet1['C17'] = project_info['DATA'][6].get('DATA2')
sheet1['C18'] = project_info['DATA'][7].get('DATA2')
sheet1['C19'] = project_info['DATA'][8].get('DATA2')
sheet1['C20'] = project_info['DATA'][9].get('DATA2')
sheet1['C21'] = project_info['DATA'][10].get('DATA2')
sheet1['C22'] = project_info['DATA'][11].get('DATA2')
sheet1['D11'] = project_info['DATA'][0].get('DATA4')
sheet1['D12'] = project_info['DATA'][1].get('DATA4')
sheet1['D13'] = project_info['DATA'][2].get('DATA4')
sheet1['D14'] = project_info['DATA'][3].get('DATA4')
sheet1['D15'] = project_info['DATA'][4].get('DATA4')
sheet1['D16'] = project_info['DATA'][5].get('DATA4')
sheet1['D17'] = project_info['DATA'][6].get('DATA4')
sheet1['D18'] = project_info['DATA'][7].get('DATA4')
sheet1['D19'] = project_info['DATA'][8].get('DATA4')
sheet1['D20'] = project_info['DATA'][9].get('DATA4')
sheet1['D21'] = project_info['DATA'][10].get('DATA4')
sheet1['D22'] = project_info['DATA'][11].get('DATA4')
sheet1['E11'] = project_info['DATA'][0].get('DATA5')
sheet1['E12'] = project_info['DATA'][1].get('DATA5')
sheet1['E13'] = project_info['DATA'][2].get('DATA5')
sheet1['E14'] = project_info['DATA'][3].get('DATA5')
sheet1['E15'] = project_info['DATA'][4].get('DATA5')
sheet1['E16'] = project_info['DATA'][5].get('DATA5')
sheet1['E17'] = project_info['DATA'][6].get('DATA5')
sheet1['E18'] = project_info['DATA'][7].get('DATA5')
sheet1['E19'] = project_info['DATA'][8].get('DATA5')
sheet1['E20'] = project_info['DATA'][9].get('DATA5')
sheet1['E21'] = project_info['DATA'][10].get('DATA5')
sheet1['E22'] = project_info['DATA'][11].get('DATA5')
sheet1['F11'] = project_info['DATA'][0].get('DATA7')
sheet1['F12'] = project_info['DATA'][1].get('DATA7')
sheet1['F13'] = project_info['DATA'][2].get('DATA7')
sheet1['F14'] = project_info['DATA'][3].get('DATA7')
sheet1['F15'] = project_info['DATA'][4].get('DATA7')
sheet1['F16'] = project_info['DATA'][5].get('DATA7')
sheet1['F17'] = project_info['DATA'][6].get('DATA7')
sheet1['F18'] = project_info['DATA'][7].get('DATA7')
sheet1['F19'] = project_info['DATA'][8].get('DATA7')
sheet1['F20'] = project_info['DATA'][9].get('DATA7')
sheet1['F21'] = project_info['DATA'][10].get('DATA7')
sheet1['F22'] = project_info['DATA'][11].get('DATA7')
sheet1['G11'] = project_info['DATA'][0].get('DATA8')
sheet1['G12'] = project_info['DATA'][1].get('DATA8')
sheet1['G13'] = project_info['DATA'][2].get('DATA8')
sheet1['G14'] = project_info['DATA'][3].get('DATA8')
sheet1['G15'] = project_info['DATA'][4].get('DATA8')
sheet1['G16'] = project_info['DATA'][5].get('DATA8')
sheet1['G17'] = project_info['DATA'][6].get('DATA8')
sheet1['G18'] = project_info['DATA'][7].get('DATA8')
sheet1['G19'] = project_info['DATA'][8].get('DATA8')
sheet1['G20'] = project_info['DATA'][9].get('DATA8')
sheet1['G21'] = project_info['DATA'][10].get('DATA8')
sheet1['G22'] = project_info['DATA'][11].get('DATA8')
wb.save('test1.xlsx')
解决方案
您应该能够在字母上使用嵌套循环
这将遍历字母 b 到 g(字母表的索引 1 到 7,根据需要进行调整),然后每个字母创建 12 个条目
import string
for idx, letter in enumerate(string.ascii_lowercase[1:7]):
for i in range(12):
sheet1[f'{letter}{i+11}'] = project_info['DATA'][i].get(f'DATA{idx + 1}')
(写在手机上,为格式化道歉)
您可以对 a 列和 y 信息使用类似的循环
推荐阅读
- java - How can I get the caller class object from a method in java?
- c++ - Which way to return value works faster in C++?
- jquery - How to smoothen div height change after adding content
- android - Location of click event in MVVM architecture
- django - 自定义重置密码django
- c# - How to pass a Func<> property/method to a NancyFx Get() method?
- angular - 为什么 Angular API 文档中的某些类被标记为抽象的?
- android - Project name is not shown on "my account -> applications"
- javascript - How to determine if chunks of a value could fit into an array
- java - 在 Glassfish4 上启动 AMX 会引发 InstanceNotFoundException