python技巧分享Excel创建和修改
openpyxl
是一个读写Excel文档的Python
库,能够同时读取和修改Excel文档。
openpyxl是一个开源项目,因此在使用之前需要先进行安装:
pip install openpyxl
openxpyxl
中有三个不同层次的类,分别是Workbook
、Worksheet
和Cello。Workbook是对Excel工作簿的抽象,Worksheet是对表格的抽象,Cell是对单元格的抽象。每一个类都包含了若干属性和方法,以便于我们通过这些属性和方法获取表格中的数据。一个Workbook
对象代表一个Excel文档,因此在操作一个Excel之前,应该先创建一个Workbook
对象。对于创建一个新的Excel文档,直接进行Workbook类调用即可。对于读取一个已有的Excel文档,可以使用openxpyxl模块的load_workbook函数。该函数接受多个参数,但只有filename参数为必传参数。filenmame
可以是一个文件名,也可以是一个打开的文件对象。
Workbook对象有很多的属性和方法:
1、active:获取活跃的Worksheet;2、read_only:是否以read_only模式打开Excel文档;3、encoding:文档的字符集编码:4、properties:文档的元数据,如标题,创建者,创建日期等;5、worksheets:以列表的形式返回所有的Worksheet。Workbook对象的方法:
1、get_sheet_names:获取所有表格的名称;2、get_sheet_by_name:通过表格名称获取Worksheet对象;3、get_active_sheet:获取活跃的表格;4、remove_sheet:删除一个表格;5、create_sheet:创建一个空的表格;6、copy_worksheet:在Workbook内拷贝表格。常用的Worksheet属性:
1、title:表格的标题;2、dimensions表格的大小,这里的大小是指有含有数据的表格大小。3、max_row表格的最大行;4、min_row表格的最小行;5、max_column表格的最大列;6、min_column表格的最小列;7、rows按行获取单元格(Cell对象);8、columns按列获取单元格(Cell 对象);9、freeze_panes冻结窗格;10、values按行获取表格的(数据);import openpyxl wb = openpyxl.load_workbook("book2.xlsx") print(wb.active) print(wb.read_only) print(wb.worksheets) print(wb.get_sheet_names()) print(wb.get_active_sheet()) sheet = wb.get_sheet_by_name("Sheet1") print(sheet.max_row) for row in sheet.values: print(*row)
创建和修改excel:
from openpyxl import Workbook wb = Workbook() #默认创建一个sheet sheet = wb.active sheet.title = "test1" sheet0 = wb.create_sheet(index=0, title="test0") #又创建一个sheet,并且放到第一位 sheet0["A1"] = "姓名" sheet0["A2"] = "ok" wb.save("abc.xlsx")
如果文件已经存在,会删除文件重新建立。
例子:求RECORD
这一列值的合计,并写入下最后一行
import openpyxl wb = openpyxl.load_workbook("test.xlsx") #打开文件 sheet = wb.get_sheet_by_name("Sheet1") #获取第一个sheet sum = 0.00 for row in range(2,sheet.max_row+1): #从第二行到最后一行 scores = sheet.cell(row,column=3).value #获取第三列 sum = sum + scores sheet.cell(column=3, row=sheet.max_row+1, value=sum) #最后一行赋值 wb.save("test.xlsx")
到此这篇关于python技巧分享Excel创建和修改的文章就介绍到这了,更多相关Excel创建和修改内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?