python字符串写入excel-python 操作 Excel 之写入

本文介绍了如何使用Python的openpyxl库来操作Excel文件,包括创建、删除工作表,更改工作表名称,向单元格写入数据,以及批量写入数据。示例代码展示了如何创建新的Excel文档,修改已有文档中的数据,以及如何通过循环向工作表中填充数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

假如wb是工作簿(workbook)对象,ws是表单(worksheet)对象:

1、通过对wb.title赋值可以改变表单名称

2、wb.create_sheet(index=表单排位,title='表单名') 添加或插入一张表单

wb.remove_sheet(wb.get_sheet_by_name('表单名') 删除表单

3、wb.get_sheet_names() 能得到所有表单名

4、ws['B3'] = '你想填啥就填啥",更可以双层循环对单元格进行赋值(数据可以从外部文件获取)

5、ws.append(整串数据,可以是列表,也可以是range()产生的序列)

创建并保存 Excel 文档

调用 openpyxl.Workbook()函数,创建一个新的空 Workbook 对象。

工作簿将从一个工作表开始,名为 Sheet。你可以将新的字符串保存在它的 title 属性中,从而改变工作表的名字。 当修改Workbook对象或它的工作表和单元格时,电子表格文件不会保存,除非你调 用 save()工作簿方法

import openpyxl

from openpyxl.utils import get_column_letter

wb = openpyxl.Workbook()

sheet = wb.active

# # change the name of the sheet

print(sheet.title)

sheet.title = 'Happy2017'

创建和删除工作表

利用 create_sheet() 和 remove_sheet()方法,可以在工作簿中添加或删除工作表。

create_sheet()方法返回一个新的 Worksheet 对象,名为 SheetX,它默认是工作 簿的最后一个工作表。或者,可以利用 index 和 title 关键字参数,指定新工作表的 索引或名称。 继续前面的例子,输入以下代码:

import openpyxl

from openpyxl.utils import get_column_letter

wb = openpyxl.Workbook()

sheet = wb.active

wb.create_sheet(index=0, title='First Sheet')

wb.create_sheet(index=1, title='Middle Sheet')

print(wb.get_sheet_names()) # 获取当前工作薄的名字

wb.remove_sheet(wb.get_sheet_by_name('Middle Sheet'))

print(wb.get_sheet_names())

wb.save('temp1.xlsx')

将值写入单元格

将值写入单元格,很像将值写入字典中的键。

>>> import openpyxl

>>> wb = openpyxl.Workbook()

>>> sheet = wb['Sheet']

>>> sheet['A1'] = 'Hello world!'

>>> sheet['A1'].value

'Hello world!'

批量的进行写入

importopenpyxlfrom openpyxl.utils importget_column_letter

wb=openpyxl.Workbook()

sheet=wb.active

ws1= wb.create_sheet('range names')#生成一个0到17个数写入(1-39行)

for row in range(1, 40):

ws1.append(range(17))

ws2= wb.create_sheet('List')#从数组中写入

rows =[

['Number', 'Batch 1', 'Batch2'],

[2, 40, 30],

[3, 40, 25],

[4, 50, 30],

[5, 30, 10],

[6, 40, 30],

[7, 78, 52],

]for row inrows:

ws2.append(row)

ws3= wb.create_sheet(title='Data')#指定行和列进行写入

for row in range(5, 30):for col in range(15, 54):

ws3.cell(column=col, row=row, value=get_column_letter(col))print(ws3['AA10'].value)

wb.save(filename='empty_book.xlsx')

小案例: 修改excel中指定的一部分数据

import openpyxl

# The product types and their updated prices

PRICE_UPDATE = {

'Garlic': 3.17,

'Celery':1.19,

'Lemon': 1.27

}

wb = openpyxl.load_workbook('produceSales.xlsx')

ws = wb.get_sheet_by_name('Sheet')

# loop through the rows and update the prices, skip the first row

for rowNum in range(2, ws.max_row+1):

productName = ws.cell(row=rowNum, column=1).value

if productName in PRICE_UPDATE:

ws.cell(row=rowNum, column=2).value = PRICE_UPDATE[productName]

wb.save('updateProduceSales.xlsx')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值