python写入Excel,python如何向excel单元格写入数据
本文主要详细介绍python如何写Excel表格,使用jupyternotebook。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。
00-1010一、写Excel数据二。项目:更新电子表格2.1案例需求2.2案例源代码摘要
目录
周openpyxl还提供了一些写数据的方法,也就是说你的程序可以创建和编辑电子表格文件。使用Python创建包含数千行数据的电子表格非常简单。
使用每周openpyxl。Workbook()函数创建一个新的空工作簿对象。
本章所有代码均在jupyter notebook.完成
创建新的工作簿对象。
导入openpyxl
wb=openpyxl。工作簿()
世界银行
open pyxl . workbook . workbook . workbook位于0x22473ff4da0
获取工作表名称
#检查默认工作表的名称。
wb.sheetnames
[工作表]
为工作表命名。
#检查默认工作表的名称。
wb.sheetnames
[随访记录表]
保存工作表
Wb.save(。/data/first-workbook.xlsx) #需要给出路径地址
创建和删除工作表
使用create_sheet和del的语法,您可以在工作簿中添加或删除工作表。在工作簿中添加或删除工作表后,请记住调用save()方法来保存更改。创建sheet
WB=openpyxl.load _ workbook(。/data/first-workbook.xlsx )
Wb.create_sheet(title=销售记录)
工作表“销售记录”
wb.sheetnames
[跟踪记录表,销售记录]
Wb.create_sheet(index=1,title= farming technology )# index表示新创建的工作簿放置的位置。索引从0开始计数。
工作表“育种技术”
Wb.sheetnames # 0 1 2从0开始计数
[跟踪记录表,养殖技术,销售记录]
删除工作表
del WB[‘育种技术’
wb.sheetnames
[跟踪记录表,销售记录]
Wb.save(。/data/first-workbook.xlsx )
p style="text-align:center">
千万记住:只有save()
后打开Excel表格你做的操作才会显示
将值写入单元格
- 将值写入单元格,很像将值写入字典中的键
- 如果你有单元格坐标的字符串,可以像字典的键一样,将它用于Worksheet对象,指定要写入的单元格。
- 最后使用save()进行保存
sheet = wb[销售记录]sheet[A1] = HELLO
sheet[B2] = world
wb.save(./data/第一个工作簿.xlsx) # 操作之后一定要保存
二、项目:更新一个电子表格
2.1 案例需求
获取资源:produceSales.xlsx 提取码: ge7k
这个项目需要编写一个程序,更新产品销售电子表格中的单元格,程序将遍历这个电子表格,找到特定类型的产品,并更新它们的价格
数据说明
- 每一行代表一次单独的销售。列分别是销售产品的类型(A)、产品每磅的价格(B)、销售的磅数(C),以及这次销售的总收入(D).TOTAL列已经设置为Excel公式,将每磅的成本乘以销售的磅数,并将结果取整到分。有了这个公式,如果列B或C发生变化,TOTAL列中的单元格将自动更新
- 现在假设Garlic,Celery和Lemons的价格输入的不正确。这让你面对一项无聊的任务:遍历这个电子表格中的几万行,更新所有garlic.celery和lemon行中每磅的价格。你不能简单地对价格查找替换,因为可能有其他的产品价格一样,你不希望错误地"更正"。对于几万行数据,手工操作可能要几小时。但你可以编写程序,几秒钟内完成这个任务。
你的程序做下面的事情
- 循环追历所有行。
- 如果该行是Garlic,Celery或Lemons,更新价格。
这意味着代码需要做下面的事情:
- 打开电子表格文件。
- 针对每一行,检查列A的值是不是Celery,Garlic或Lemon,如果是,更新列B中的价格。将该电子表格保存为一个新文件(这样就不会丢失原来的电子表格,以防万一)
需要更新的价格如下
- Celery 1.19
- Garlic 3.07
- Lemon 1.27
2.2 案例源码
import openpyxlprint(openning...)
wb = openpyxl.load_workbook(./data/produceSales.xlsx)
sheet = wb[Sheet]
# The produce types and their updated prices
PRICE_UPDATES = {Garlic: 3.07,
Celery: 1.19,
Lemon: 1.27}
# Loop through the rows and update the prices.
for rowNum in range(2, sheet.max_row + 1):
# 取出第一列商品的名称
produceName = sheet.cell(row=rowNum, column=1).value
# 如果取出的商品名称在字典中 则需要修改
if produceName in PRICE_UPDATES:
sheet.cell(row=rowNum, column=2).value = PRICE_UPDATES[produceName]
wb.save(./data/updateProduceSales.xlsx)
print(finishing...)
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注盛行IT软件开发工作室的更多内容!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。