python与excel第二节

时间:2024-03-21 10:09:54

python与excel第二节

打开一个工作簿

例子:

import xlwings as xw
app = xw.App(
visible=True,add_book=False)
workbook = app.books.open(
r'D:\TEST\pythonexcel\工作簿test0.xlsx')

上面例子打开了工作簿test0.xlsx。

但是,如果该excel文件不存在则报错:FileNotFoundError: No such file: 'D:\TEST\python与excel\工作簿test011.xlsx'

如果该excel文件已经被打开,则以只读模式打开。

增加工作表、修改单元格内容

下面增加名字为‘订单表’的sheet,修改单元格A1的值为编号。

例子:

import xlwings as xw
app = xw.App(
visible=False)
workbook = app.books.add()
worksheet = workbook.sheets.add(
'订单表')
worksheet.range(
'A1').value = '编号'
workbook.save(r'D:\TEST\pythonexcel\订单.xlsx')
workbook.close()
app.quit()

打开一个文件夹下面的所有文件

例子:

import os
import xlwings as xw
file_path =
r'D:\TEST\pythonexcel'# 给出工作簿所在的文件夹路径
file_list = os.listdir(file_path)# 列出路径下所有文件和子文件夹的名称
app = xw.App(visible=True,add_book=False)
for i in file_list:
# splitext()方法分离文件的文件名和扩展名,返回元组
   
if os.path.splitext(i)[1] == '.xlsx':# 判断文件夹下文件的扩展名是否为“.xlsx”
       
app.books.open(file_path + '\\' + i)

按照规则重命名工作簿中工作表名称

import xlwings as xw
app = xw.App(
visible = False,add_book=False)
workbook = app.books.open(
'D:\\TEST\\pythonexcel\\订单.xlsx')
# 获得所有工作表
worksheets = workbook.sheets
for i in range(len(worksheets)):
   
# sheet名称中的Sheet替换为订单
   
worksheets[i].name = worksheets[i].name.replace('Sheet','订单')
workbook.save(
'D:\\TEST\\pythonexcel\\订单-重命名.xlsx')
app.quit()

按照规则重命名工作簿中前3个工作表名称

import xlwings as xw
app = xw.App(
visible=False,add_book=False)
workbook = app.books.open(
'D:\\TEST\\pythonexcel\\订单.xlsx')
worksheets = workbook.sheets

# range方法返回一个列表,再用[:3]做切片,取列表中前三个sheet
for i in range(len(worksheets))[:3]:
    worksheets[i].name = worksheets[i].name.replace(
'Sheet','订单')
workbook.save(
'D:\\TEST\\pythonexcel\\订单2.xlsx')
app.quit()