python写入Excel文件操作
程序员文章站
2022-10-19 22:45:36
**任务描述:** 最近在做一个为公文写作提供素材的任务,大致就是将原有公文进行分块保存,然后以块的形式提供给用户,辅助用户完成公文写作中各部分的编写。代码编写好后运行结果存放在json文件中,本地测试校验时需要将json文件中的结果存放到前期数据调研时的excel中预留的行、列中,那么怎么来做呢?(此问题转换为:如何将结果存入已存在的excel中?)**xlutils模块** 该模块的功能是作为xlrd和xlwt的桥梁,解决了xlrd中book对象无法编辑的问题。通......
任务描述:
最近在做一个为公文写作提供素材的任务,大致就是将原有公文进行分块保存,然后以块的形式提供给用户,辅助用户完成公文写作中各部分的编写。代码编写好后运行结果存放在json文件中,本地测试校验时需要将json文件中的结果存放到前期数据调研时的excel中预留的行、列中,那么怎么来做呢?(此问题转换为:如何将结果存入已存在的excel中?)
xlutils模块
该模块的功能是作为xlrd和xlwt的桥梁,解决了xlrd中book对象无法编辑的问题。通过copy模块将xlrd.Book对象转换为xlwt.Workbook对象,从而实现了原始excel文件的编辑功能。
如果没有xlutils模块,可以按照以下命令安装:
pip install xlutils -i https://pypi.douban.com/simple/
代码实现:
-*- coding:utf-8 -*-
"""Automated_testing.py
~~~~~~~~~~~~~~~~
写入Excel文件功能实现
:copyright: (c) 2020 by keyidanmeibiyao
:modified: 2020-07-15
"""
import xlrd, xlwt
import json
from xlwt import Style
from xlutils.copy import copy
excel_data = xlrd.open_workbook("C:/Users/xzc/Desktop/工作总结报告等四类调研汇总.xlsx") # 打开待写入的Eecel文件
excel = copy(excel_data)
table_acc_inv = excel.get_sheet(2)
title_acc_inv = excel_data.sheets()[2].col_values(1) # 获取"调查类报告"标题列,2表示excel中第三张表,1表示取第二列,返回值为list类型
with open("C:/Users/xzc/Desktop/调查类报告分块结果.json", "r", encoding='utf-8') as f:
data_acc_inv = f.readlines()
for i, each_data in enumerate(data_acc_inv):
result = json.loads(each_data)
for idx, each_title in enumerate(title_acc_inv):
if idx != 0: # 第1行为标题行,需排除
if result["标题"] == each_title: # 遍历excel中第二列的title,如果在json文件中找到一样的title,则把对应的字段添加到对应的行列
print("调查类报告>>>", result["标题"])
table_acc_inv.write(idx, 4, result["调研/普查设计"]) # (行,列,待存值)
table_acc_inv.write(idx, 7, result["调研/普查结果"])
table_acc_inv.write(idx, 10, result["存在问题和下一步工作打算"])
excel.save("C:/Users/xzc/Desktop/工作总结报告等四类调研汇总_0716.xls")
excel文件展示:
红框表示存入的列为4和7的内容
本文地址:https://blog.csdn.net/zhichaoxia/article/details/107382618
下一篇: 初创企业该如何融资?融资时需注意什么