在测试过程中,有些网页的列表时不方便直接导出或者下载的,这个时候就需要抓包获取json并且直接生成excel文件,方便批量核对数据。
下图代码是把部分json存在txt文件重,并且读取复制给参数。
import json
'获取text中的json文件。'
json_text = r'D:\tracker.txt'
with open(json_text, encoding='utf8') as f:
content = json.load(f)
print(content[0])
'key为表格列名'
header = list([i for i in content[0].keys()])
print(header)
利用第一个for循环是在表格中写入列名,后面嵌套的两个for循环填入数据
# 创建Excel工作簿对象
wb = openpyxl.Workbook()
# 选取工作表
ws = wb.active
for i in range(len(header)):
ws.cell(row=1, column=i+1, value=header[i])
#row是行,总共20行,column是列,列数量是header的长度
for row in range(len(content)):
for column in range(len(header)):
if isinstance(content[0].get(header[column]),dict) == True:
ws.cell(row=row + 2, column=column + 1, value=content[row].get(header[column]).get('gptVal'))
else:
ws.cell(row=row + 2, column=column + 1, value=content[row].get(header[column]))
# 保存Excel文件
wb.save('D:\data1.xlsx')