python 向excel表中添加新的sheet页或者向旧sheet中写入数据

news/2024/12/28 23:25:24/
import xlwt
import xlrd
from xlutils.copy import copy
import os
import numpy as np
import pandas as pd
class Excel_Add_Sheet():def save_table(self, table, file_name):# 保存表table.save(file_name)def add_new_sheet(self, file_name, sheet_name, title=None):""" 创建新的文件或者创建新的表:param file_name: 文件名:param sheet_name: 表名,不存在则创建:param title: 表不存在时则写入标题:return:"""if not os.path.exists(file_name):table = xlwt.Workbook(encoding='utf-8')wbsheet = table.add_sheet(sheet_name, cell_overwrite_ok=True)if title:for i in range(0, len(title)):wbsheet.write(0, i, title[i])sheet_names = []row = 1else:# 打开需要操作的excel表wb = xlrd.open_workbook(file_name)sheet_names = wb.sheet_names()table = copy(wb)if sheet_name not in sheet_names:wbsheet = table.add_sheet(sheet_name)if title:for i in range(0, len(title)):wbsheet.write(0, i, title[i])row = 1else:wbsheet = table.get_sheet(sheet_name)row = len(wbsheet.rows)return table, sheet_names, wbsheet, rowdef add_data(self):file_name = 'test.xlsx'sheet_name = 'sheet1'title = ['a', 'b', 'c']table, sheet_names, wbsheet, row = self.add_new_sheet(file_name, sheet_name, title)# 向新sheet中写入数据。num = [[i for i in range(1, 4)], [j for j in range(4, 7)]]data = np.array(num)pd_data = pd.DataFrame(data=data, index=['A', 'B'], columns=['C', 'D', 'E'])for i in range(pd_data.shape[0]):wbsheet.write(row + i, 0, int(pd_data.iloc[i, 0]))for j in range(1, pd_data.shape[1]):wbsheet.write(row + i, j, int(pd_data.iloc[i, j]))self.save_table(table, file_name)if __name__ == '__main__':start = Excel_Add_Sheet()start.add_data()

http://www.ppmy.cn/news/25885.html

相关文章

利尔达在北交所上市:总市值突破29亿元,叶文光为董事长

2月17日,利尔达科技集团股份有限公司(下称“利尔达”,BJ:832149)在北京证券交易所上市。本次上市,利尔达的发行价格为5.00元/股,发行数量为1980万股,发行市盈率为12.29倍,募资总额为…

前端开发常用案例(一)

前端开发常用案例1.实现三角形百度热榜样式分页效果小米商城自动轮播图效果二级下拉菜单效果时间轴效果展示音乐排行榜效果鼠标移入文字加载动画鼠标悬停缩放效果1.实现三角形 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8…

【数据结构期末例题】

前言 本文是博主自己在准备学校数据结构考试时的总结&#xff0c;各个知识点都贴有对应的详细讲解文章以供大家参考&#xff1b;当然文中还有许许多多的截图&#xff0c;这些是博主对主要内容的摘取&#xff0c;对于那些基础较好的同学可以直接看截图&#xff0c;减少跳转对应文…

分享五款功能简单粗暴的小软件

今天分享几款功能简单的小软件&#xff0c;小伙伴们们可以来看一下有没有你需要的功能软件。 1.书签管理工具——Toby for Chrome Toby是一个特别有用的浏览器书签管理工具。使用它&#xff0c;您可以创建自己的不同类别的书签。比如在工作生活等方面&#xff0c;学习常用的查…

个人开源PCB开发板列表汇总

个人开源PCB开发板列表汇总✨首先感谢立创EDA的免费打样和立创一起开源的广大网页。 &#x1f530;STC单片机为主控开源PCB开发板列表 &#x1f4cc;STC15F2K60S2开发板&#xff1a;https://oshwhub.com/perseverance51/stc15f2k60s2-ji-tong-ban &#x1f4cc;STC15W408AS系…

2021-12-05青少年软件编程(C语言)等级考试试卷(六级)解析

2021-12-05青少年软件编程(C语言)等级考试试卷(六级)解析T1. 电话号码 给你一些电话号码,请判断它们是否是一致的,即是否有某个电话是另一个电话的前缀。比如: Emergency 911 Alice 97 625 999 Bob 91 12 54 26 在这个例子中,我们不可能拨通Bob的电话,因为Emergency的…

Git、小乌龟、Gitee的概述与安装应用超详细(组长与组员多人开发版本)

目录 组长与组员阅读说明 一、概述 1.什么是Git&#xff1f; 2.Git历史来源 3.Git的优点? 4.什么是版本控制&#xff1f; 5.版本控制工具种类&#xff1f; 6.Git工作机制 7.Git、小乌龟、Gitee、凭据管理器的简单介绍 二、Git下载安装 下载Git 安装Git 安装完成后…

YOLOv5:GitHub两万八Star项目

来源&#xff1a;投稿 作者&#xff1a;王同学 编辑&#xff1a;学姐 Yolov5详解 官方源码仓库&#xff1a;https://github.com/ultralytics/yolov5 相关论文&#xff1a;未发表&#xff08;改进点都被你们抢先发了&#xff09; 0 前言 截止到2022年7月&#xff0c;Yolov5项…