前言

        在日常测试中我们会遇到将获取的数据保存到excel中,例如通过Pthon的request请求获取的数据,那么我们可以通过以下方法进行处理。

数据处理

        我们可以将获得的数据以字典的形式进行存储,例如:

data1 = {"key1":["test1","test2","test3"],
        "key2":["test4","test4","test6"],
        "key3":["test7","test8","test9"]
}

        这种数据类型是一个字典形式,并且字典中的value值是一个list形式。这是我们可以把key值作为excel表的列头,key键对应的value值作为其对应的列数据,保存在对应的列下面的行中,具体格式如下:

代码实现

        获取以上数据我们可以通过Python的“openpyxl”来实现,它是Python专门用来处理excel表格的,详情使可以参考该博客,该需求实现代码如下:

import openpyxl

dict_data = {"key1":["test1","test2","test3"],
        "key2":["test4","test5","test6"],
        "key3":["test7","test8","test9"]
}


keys = list(dict_data.keys())  # 获取字典的key值
values = list(dict_data.values())  # 获取字典的value值
# print(keys)
# print(values)
wb = openpyxl.Workbook()
ws = wb.create_sheet('sheet1')
for key in keys:
    column = keys.index(key)  # 获取key值的索引
    row_value = values[column]  # 根据获取到的key值索引来获取对应的value值,此时的value值还是一个list类型的
    ws.cell(row=1, column=column + 1).value = key  # 把获取的每一个key值作为列,放在excel表中的第一行
    for value in row_value:  # 遍历row_value中的每个值,
        row = row_value.index(value) + 2  # 获取索引,+2是因为要写入excel表格,从第二行开始写入,因为第一行作为列已经使用了。
        ws.cell(row=row, column=column + 1).value = value  # 在每个列的行下面写入数据,例如在第一列,第二行、第三行、第四行一次写入数据。
wb.save('保存的数据1.xlsx')   #你要保存的excel数据

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐