Python处理Excel表格

官方实例:

import openpyxl
wb = openpyxl.Workbook()
ws = wb.active #调用得到正在运行的工作表,该函数调用工作表的索引(_active_sheet_index),默认是0。
# ws = wb.create_sheet() #新建一张表
ws.title = '一个新的表格'  
ws['A1'] = 'Test'
ws.append(['1','2','3','4','5'])
wb.save('test.xlsx')

一.创建一个工作簿

1.引入Workbook类,然后进行实例化:

from openpyxl import Workbook
wb = Workbook()

2.一个工作簿(workbook)在创建的时候同时至少也新建了一张工作表(worksheet)
Workbook.active()调用得到正在运行的工作表
该函数调用工作表的索引(_active_sheet_index),默认是0。
除非修改了这个值,否则使用该函数一直是在对第一张工作表进行操作,
而第一张表的默认表名是"Sheet"
可以通过:ws.title = Sheet_name 修改默认的表名。

3.使用Workbook.create_sheet()新建一张表
ws1 = wb.create_sheet() --> 默认插在工作簿末尾
ws2 = wb.create_sheet(0) --> 插入在工作簿的第一个位置

4.在创建工作表的时候系统自动命名。他们按照序列依次命名 (Sheet, Sheet1, Sheet2, …)

5.一旦获取工作表的名字,可以通过workbook的key或者Workbook.get_sheet_by_name()方法得到该工作表
ws3 = wb[“New Title”]
ws3 = wb.get_sheet_by_name(“New Title”)

也可以通过Workbook.get_sheet_names()方法得到工作簿的所有工作表。

二、对单元格的基本操作

1.单元格可以直接根据他们的索引直接获得: c = ws[‘A4’]
通过上述的语句,将返回在A4处的单元格,如果不存在将在A4新建一个

2.单元格的值也可以直接赋值:ws[‘A4’] = 4

3.使用Worksheet.cell()方法获取单元格: c = ws.cell(‘A4’)

4.根据行列值获取单元格:d = ws.cell(row = 4, column = 2)

5.使用切片获取多个单元格:cell_range = ws[‘A1’:‘C2’]

6.使用Worksheet.iter_rows()方法获得多个单元格

7.将工作表转换为Dataframe,如果工作表没有标题或索引:df = DataFrame(ws.values)

三、保存和导入文件

1.保存文件 : Workbook.save()
2.导入文件 : openpyxl.load_workbook()

向前端传输数据:

response = HttpResponse(content_type='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment;filename=' + 'RebatePool' + '.xls'
response.write(file)
return response

 

Python可以使用第三方库openpyxl来操作Excel表格,下面是一些常见的操作: 1.读取Excel表格 ```python from openpyxl import load_workbook # 打开Excel文件 wb = load_workbook(filename='example.xlsx') # 获取所有工作表名 sheet_names = wb.sheetnames # 选择第一个工作表 ws = wb[sheet_names[0]] # 获取工作表的行数和列数 rows = ws.max_row cols = ws.max_column # 读取单元格内容 cell = ws.cell(row=1, column=1).value ``` 2.写入Excel表格 ```python from openpyxl import Workbook # 创建新的Excel文件 wb = Workbook() # 创建新的工作表 ws = wb.active # 写入单元格内容 ws.cell(row=1, column=1, value='Hello') # 保存Excel文件 wb.save('example.xlsx') ``` 3.修改Excel表格 ```python from openpyxl import load_workbook # 打开Excel文件 wb = load_workbook(filename='example.xlsx') # 选择第一个工作表 ws = wb.active # 修改单元格内容 ws.cell(row=1, column=1, value='World') # 保存Excel文件 wb.save('example.xlsx') ``` 4.复制Excel表格 ```python from openpyxl import load_workbook from openpyxl.utils import range_boundaries from openpyxl.utils.cell import get_column_letter # 打开Excel文件 wb = load_workbook(filename='example.xlsx') # 选择第一个工作表 ws = wb.active # 复制工作表 new_ws = wb.copy_worksheet(ws) # 修改工作表名称 new_ws.title = 'Copy' # 修改单元格内容 new_ws.cell(row=1, column=1, value='Copy') # 修改单元格样式 for row in new_ws.iter_rows(min_row=1, max_row=1): for cell in row: cell.font = cell.font.copy(bold=True) # 保存Excel文件 wb.save('example.xlsx') ``` 5.删除Excel表格 ```python from openpyxl import load_workbook # 打开Excel文件 wb = load_workbook(filename='example.xlsx') # 选择要删除的工作表 ws = wb['Sheet1'] # 删除工作表 wb.remove(ws) # 保存Excel文件 wb.save('example.xlsx') ``` 以上是一些常见的操作,openpyxl还支持更高级的操作,如合并单元格、设置单元格样式等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值