首页 > 其他分享 >0001.Excel文件新建读取修改保存

0001.Excel文件新建读取修改保存

时间:2023-06-12 15:45:20浏览次数:44  
标签:xlsx 读取 sheet wb Excel openpyxl print import 0001

一、文件读取

python办公自动化,会用到xlrd库,所以需要先安装xlrd库。

import xlrd
wb=xlrd.open_workbook('招生表.xls')     # 读取工作簿
ws=wb.sheets()        #  文件sheets包含项,列表式的键值对
print(ws)
wsname=wb.sheet_names()      # 列表式工作簿下的所有工作表对象
print(wsname)
ws1=wb.sheet_by_name('中山分校')    # 按指定名称读取工作表对象-方法1
print(ws1)
ws2=wb.sheet_by_index(0)      # 按指定名称读取工作表对象-方法2
print(ws2)
ws3=wb.sheets()[0]      # 按指定名称读取工作表对象-方法3
print(ws3.name)

 

二、行列单元格读取

import  xlrd
ws=xlrd.open_workbook('招生表.xls').sheet_by_name('中山分校')    # 获取工作表对象
crow=ws.nrows     # 获取行号
print(crow)   
ccol=ws.ncols     # 获取列号
print(ccol)
row_data=ws.row_values(3)    # 获取指定行数据
print(row_data)
col_data=ws.col_values(1)    # 获取指定列数据
print(col_data)
cell_data_1=ws.cell_value(2,1)   # 获取单元格数据
print(cell_data_1)
cell_data_2=ws.cell(1,3).value   # 获取单元格书籍
print(cell_data_2)

数据共计:44行4列;其中第4行(起始为0,所以3即为第4行)数据信息;第2列(起始为0,所以1即为第2列)数据信息;第3行2列数据;第2列4行数据。
根据上述数据读取方式,在需要进行多单元格数据读取时,即可以采用行、列指定范围后嵌套遍历即可完成需求数据读取。

三、文件保存

同样的,读取办公文件用到了xlrd库,那么写入即保存需要用到xlwt库,所以首先需要安装xlwt库。

import xlwt
nwb=xlwt.Workbook(encoding='utf-8')    # 新建工作簿
nws=nwb.add_sheet('成绩表')      # 添加工作簿,命名为‘成绩表’
nws.write(1,2,'Hello!Excel我来了!')   # 写入单元格,向2行3列单元格写入数据
nwb.save('成绩单.xls')     # 保存工作薄

四、修改excel信息

同样的,修改信息同样也是有一个库方法,即xlutils库。

import xlrd
from xlutils.copy import copy
wb=xlrd.open_workbook('招生表.xls')
print(wb)
nwb=copy(wb)
print(nwb)
nws1=nwb.add_sheet('上海分校')      #  添加工作簿,命名为"上海分校"
nws2=nwb.get_sheet(1)             # 获取第2个工作簿
nws3=nwb.get_sheet('黄河分校')      # 获取"黄河分校"工作簿
nws3.write(5,7,'我来也')            # 在"黄河分校"的第6行8列单元格写入"我来也"
nws1.write(0,0,'上海上海')          # 在新建的"上海分校"工作簿的第1行1列单元格写入“上海上海
nwb.save('招生表.xls')

五、openpyxl库

1. Excel的新建、读取、保存

import openpyxl
wb=openpyxl.Workbook()       #  新建Excel
wb.save('我的工作簿.xlsx')       # 保存


import openpyxl
wb=openpyxl.load_workbook('我的工作簿.xlsx')   # 读取
wb.save('我的工作簿-1.xlsx')      # 保存


import openpyxl
for m in range(1,13):            # 循环新建Excel保存
    wb=openpyxl.Workbook()    
    wb.save('%d月.xlsx'%m)     # 保存

2. 工作表的获取方法

import openpyxl
wb=openpyxl.load_workbook('各年业绩表.xlsx')
ws1=wb.active#获取活动工作表
ws2=wb.worksheets[2]#以索引值方式获取工作表
ws3=wb['2012年']#以工作表名获取
# for sh in wb.worksheets:
#     print(sh)
# print(wb.sheetnames)
wb.worksheets[1].title='demo'    # 修改第2个sheet的工作簿名为“demo”
wb.save('各年业绩表-1.xlsx')

import openpyxl
wb=openpyxl.load_workbook('各年业绩表.xlsx')
for sh in wb.worksheets:
    sh.title=sh.title+'-芝华公司'
wb.save('各年业绩表(修改后).xlsx')

3. 工作表的新建、复制、删除

import openpyxl
wb=openpyxl.Workbook()
wb.create_sheet()      
wb.create_sheet()
wb.create_sheet()      # 共计创建了3个工作表
wb.save('demo1.xlsx')

wb=openpyxl.load_workbook('demo2.xlsx')
wb.create_sheet('工资表',2)
wb.save('demo2.xlsx')


wb=openpyxl.load_workbook('demo3.xlsx')
wb.copy_worksheet(wb['工资表']).title='工资表1月'    # copy工作表并命名为“工作表1月”
wb.save('demo3-1.xlsx')

import openpyxl
wb=openpyxl.load_workbook('demo3-1.xlsx')
wb.remove(wb['工资表'])    # 删除了“工资表”工作表
wb.save('demo3-1.xlsx')

load_woekbook(read_only=False, guess_types=False, data_only=False) 包含3个选择参数:

read_only:False表示可读、可写;True表示只读、不能写;

guess_types:False表示转换数据;True表示不能转换数据;

data_only:False表示序单元格的真实信息;True表示只读取值。

标签:xlsx,读取,sheet,wb,Excel,openpyxl,print,import,0001
From: https://www.cnblogs.com/lxinghua/p/17474926.html

相关文章

  • 导出excel带图片
    packagecom.gooinfo.spareParts.util;importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.JSONObject;importorg.apache.poi.hssf.usermodel.HSSFDataValidation;importorg.apache.poi.hssf.usermodel.HSSFWorkbook;importorg.apache.poi.poifs.filesyst......
  • [转]POI 解析excel报错 java.lang.NoClassDefFoundError: org/apache/poi/ss/usermode
    前几天做了一个excel上传导入功能,为了通用想同步支持xls和xlsx格式。代码编写期并没有报错,所需要的类也都有。可是应用启动完测式功能的时候报了这么一个错Causedby:java.lang.NoClassDefFoundError:org/apache/poi/ss/usermodel/Date1904Support这是为什么呢?我第一感觉是jar......
  • Excel多人共享
    哈喽,大家好!在日常工作中,工作表经常会被多人编辑,为此,我们往往需要为不同的人设置不同的查看权限,以实现工作表的分级保密。下面分享一种用VBA设置权限的方法,它拥有高逼格的用户登录界面,以及完善的分级保密机制,赶紧来看看吧!提到“多人运动”,你一定以为小编一言不合就开车。你错了!作为......
  • Excel制作三级下拉菜单
    Excel中的数据有效性(数据验证)大家并不陌生,今天我们就来说说Excel中利用数据验证和名称管理器制作多级下拉菜单!一级下拉菜单一级下拉菜单比较简单,直接利用数据验证功能即可实现,如下图中,在A列实现下拉展示大区,选中A列单元格,依次选择【数据】—【数据验证】—验证条件选择"序列"—来源......
  • Excel构建多级下拉菜单
     编按:哈喽,大家好!说到做下拉菜单,小伙伴们都知道直接使用Excel中的数据验证就可以实现,但是二级、三级,甚至更多级的下拉菜单,可能就有点蒙圈了。其实用Excel制作三级下拉菜单,一点都不难,它就跟我们平时复制粘贴一样简单!不相信?一起来看看文章,你就知道了!****************使用数据有效性制作下拉菜单对大多......
  • 前端点击一个excel图标, 自动调用office打开其对应的excel文件
    有对应的excel协议,具体:前端掉excel协议+文件地址即可,你只需要把文件地址返回即可. 背景:http协议:http"//www.baidu.comhttps协议ftp协议所以,对应的有Excel协议......
  • 0001. Kmeans聚类算法
    一、Kmeans原理Kmeans算法是一种常见的聚类算法,用于将数据集划分成k个不重叠的簇。其主要思想是通过迭代的方式将样本电话分到不同的簇中,使得同一簇内的样本点相似度较高,不同簇之间的相似度较低。Kmeans算法的详细步骤:初始化:选择k个初始聚类中心,可以是随机选择或者根据某种启......
  • pandas读取excel表格内容后重新生成表格时因为序号再次生成,出现:Unnamed: 0
    出现的问题如下图:在读取数据的函数中增加:index_col=0,即可。......
  • 盘点一个Python自动化办公过程中Excel数据为空的处理
    大家好,我是皮皮。一、前言前几天在Python群,粉丝问了一个Python自动化办公的问题,这里拿出来给大家分享下。这个问题相信很多人都会遇到,原始Excel数据中,这个【编号】列一般是有相关数据的,但是如果没有的话,就先写为“暂无编号”,如下图所示:后来发现通过Python代码,将其写入到word文件,不......
  • 看看Angular有啥新玩法!手把手教你在Angular15中集成Excel报表插件
    Angular15新特性Angular框架(以下简称“Angular”)作为一款由谷歌开发的Web应用程序框架,其强大的依赖注入系统、可重复使用的模块化开发理念和响应式编程模式等特点让Angular一问世便取得了巨大的关注和流量。截止目前为止,Angular已经迭代了15个版本,而Angular15又有哪些新的亮眼表现......