当前位置: 首页 > news >正文

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

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.lryc.cn/news/10980.html

相关文章:

  • RPC-grpc实践
  • JavaEE——MyBatis配置文件的详细介绍
  • bwmarrin/snowflake生成ID重复问题排查记录
  • 操作系统题目收录(十)
  • IOS 自动化测试环境搭建
  • 系统设计原则
  • 推荐130个网站,非常实用,比涨工资都重要
  • 手机棋牌游戏开发的流程是怎样的?
  • 浅谈C++函数重载
  • 数据分析spss应急考试
  • Handler postDelayed的实现原理
  • 【数据结构】平衡二叉树
  • Minecraft服务端配置
  • yunUI组件库解析:图片上传与排序组件yImgPro
  • Java基础:回调函数
  • Springboot多环境配置
  • Java Number Math 类,超详细整理,适合新手入门
  • 俯瞰·明统系列·落霞与孤鹜齐飞、南征与北伐并举
  • Nodejs环境搭建和配置
  • MybatisPlus------条件构造器Wrapper以及QueryWrapper用法(七)
  • NetSuite Intercompany Framework 101
  • 限时活动|凭徽章领披萨大奖,玩转Moonbeam治理论坛
  • Golang中struct{}和struct{}{}的区别你知道吗?
  • 网络安全-信息收集- 谷歌浏览器插件收集信息,谷歌hacking搜索语法-带你玩不一样的搜索引擎
  • 基础篇—一文掌握css的边框属性
  • 05服务发现:引入etcd服务注册中心
  • Pdfium.Net SDK 4.78.2704 完美Crack/Ptach
  • 再学C语言38:指针操作
  • 【论文Word排版】使用多级列表设置论文序号
  • 分支管理方案