将json文件内容写入Execl
方法一:
# coding:utf-8
import os
import pandas as pd
def save_execl(keys,data):
# 处理可能包含list等类型的value
values = []
for i in range(len(data)):
values.append(str(data[i]))
# print(values)
# 写入数据
df = pd.DataFrame([values], columns=keys)
# 保存到本地excel
xlsx_name = "../data/sit/test.xlsx"
df.to_excel(xlsx_name, index=False)
if __name__ == "__main__":
# 读取json文件内容
f = open("../experiment/data/xxx.json", encoding="utf-8")
con = eval(f.read())
# 获取json keys及value
keys = list(con.keys())
values = list(con.values())
# print(keys)
# print(values)
# 调用write_xlsx函数写入execl文件
save_execl(keys, values)
方法二:
# coding:utf-
import xlrd, xlwt
# 单独引用xlutils 下的copy 写法为copy,如果仅引用xlutils 使用copy时为xlutils.copy.copy
from xlutils.copy import copy
# 写入execl
def write_xlsx(keys, values):
filesheet = "sheet"
filepath = "../data/sit/aaa.xlsx"
try:
# 打开Execl
wb = xlrd.open_workbook(filepath)
# 找不到文件
except FileNotFoundError as ube:
# 新建工作簿
wb = xlwt.Workbook('utf-8')
# 创建工作表
ws = wb.add_sheet(filesheet)
# 保存到新建工作簿
wb.save(filepath)
# 打开文件
wb = xlrd.open_workbook(filepath)
finally:
# 想execl 写入文件
cp_wb = copy(wb)
cp_ws = cp_wb.get_sheet(filesheet)
# copy 直接修改单元格内容
# 循环写入keys到表格第一行
for i in range(len(keys)):
cp_ws.write(0, i, keys[i])
# 循环写入value 到表格第二行
for i in range(len(values)):
# values 可能为dict 所以需要转换为str
cp_ws.write(1, i, str(values[i]))
# 保存文件
cp_wb.save(filepath)
if __name__ == "__main__":
# 读取json文件内容
f = open("../experiment/data/xxx.json", encoding="utf-8")
con = eval(f.read())
# 获取json keys及value
keys = list(con.keys())
values = list(con.values())
# 调用write_xlsx函数写入execl文件
write_xlsx(keys, values)