Python写入Excel
2021/10/23 22:13:19
本文主要是介绍Python写入Excel,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言:前面系列篇已经讲解过如何使用Python读取Excel表格中的数据,并对数据进行读取后的处理。今天简单介绍下Python写入Excel的方法并举例说明如何应用。
表单的增、删、写、存操作
# 新建工作簿 wb = openpyxl.Workbook() print(wb) sheet = wb.active print(sheet.title) # 重命名表单 sheet.title = 'happy2021' print(wb.get_sheet_names) # 这种方法会出现弃用警告,推荐下面的方法 print(wb.sheetnames) # 保存工作簿 wb.save('original.xlsx') # 新建表单并指定索引值 # 说明:表单的索引位置从0开始,如果创建表单的时候不指定索引值,默认在现有的表单后继续创建。 wb.create_sheet('first.xlsx', index=0) wb.create_sheet('second.xlsx', index=1) print(wb.sheetnames) # 删除表单 wb.remove_sheet(wb.get_sheet_by_name('first.xlsx')) # 这种方法会出现弃用警告,推荐下面的方法 wb.remove(wb['first.xlsx']) # 括号内是表单对象 del wb['second.xlsx'] # 括号内是表单名称 print(wb.sheetnames) wb.save('temp1.xlsx') # 进行增、删、改操作最后都需要保存下 # 往单元格中写入值 # 说明:这点和往字典中增加键值对的方法类似,可进行对比学习。 wb = openpyxl.Workbook() sheet = wb.active sheet['A1'] = 'Hello python' print(sheet['A1'].value)
Python写入Excel的几个实例
ws1 = wb.create_sheet('range names') for row in range(40): ws1.append(range(17)) # append()内传入的是每一行对应的各列的取值范围,可以是列表、字典、元组、range等 ws2 = wb.create_sheet('List') rows = [ ['Number', 'Batch1', 'Batch2'], [2, 40, 30], [3, 45, 60], [4, 36, 55], [5, 66, 88], [6, 78, 99] ] for row in rows: ws2.append(row) ws3 = wb.create_sheet('Data') for row in range(5, 30): for col in range(15, 50): ws3.cell(row=row, column=col, value=get_column_letter(col)) # 将列对应的数字转换成字符串作为单元格的值 wb.save('write_excel.xlsx') # 上面3张表单生成以后效果如下:
实际应用场景
下面给定了一张超市农产品的价格表,要完成对表单中部分农产品的价格更新。
文件下载链接:https://pan.baidu.com/s/1ly0C3anyNvBDbkb4omv_OA 提取码:ey30
# 待更新的农产品名称(大蒜、芹菜、柠檬)及对应的价格,我们存储在一个字典对象中:price_update = {'Garlic': 3.17, 'Celery': 1.19, 'Lemon': 1.17} # 解题思路:遍历整个农产品价格表,判断每一行取出的农产品名称是否存在price_update字典中,存在则更新对应价格;不存在,则跳过这一行。 wb = openpyxl.load_workbook(r'D:\zxt\produceSales.xlsx') ws = wb.active price_update = {'Garlic': 3.17, 'Celery': 1.19, 'Lemon': 1.17} for rowNum in range(2, ws.max_row+1): # 取出表单中每一行第一列的农产品名称 produce = ws.cell(row=rowNum, column=1).value # 这里produce是农产品的意思 # 判断农产品产品名称是否存在于待更新的字典中 if produce in price_update.keys(): ws.cell(row=rowNum, column=2).value = price_update[produce] pass # 将更新后的文件的另存为updateProduceSales.xlsx,防止程序出错,覆盖原文件数据 wb.save('updateProduceSales.xlsx') # 查看更新后的updateProduceSales.xlsx如下:,结果显示价格更新成功。
最后,喜欢的朋友点赞、推荐下,后续精彩内容持续更新中,敬请关注!
这篇关于Python写入Excel的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门