好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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创建和修改内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

查看更多关于python技巧分享Excel创建和修改的详细内容...

  阅读:47次