Python如何使用Excel文件

Python (230) 2023-06-16 00:05:51

使用Python操作Office——EXCEL

首先介绍下office win32 com接口,这个是MS为自动化提供的操作接口,比如我们打开一个EXCEL文档,就可以在里面编辑VB脚本,实现我们自己的效果。对于这种一本万利的买卖,Python怎么能放过,它内置了对于win32 com接口的支持,我们可以方便的控制。

要想熟悉使用office win32 com接口,没有什么比MS提供的API文档更加权威了。

下面我们以操作EXCEL文档为例:

一、对Excel文件进行写入操作:

#!/usr/bin/python3
#-*-coding:utf-8-*-

#导入模块
importwin32com.client

#打开Excel
Application=win32com.client.Dispatch("Excel.Application")
#或者使用下面的方法,使用启动独立的进程:
#Application=win32com.client.DispatchEx("Excel.Application")

#后台运行,显示程序界面,不警告
Application.Visible=1#调试阶段建议打开
Application.DisplayAlerts=0

#新建一个文档
Workbook=Application.Workbooks.Add()

#打开一个文档
Workbook=Application.Workbooks.Open("F:\\test.xlsx")
#根据工作表名
Base=Workbook.Worksheets("Sheet1")
#根据工作表顺序
#Base=Workbook.Worksheets(1)

#接受当前工作表
#Base=Workbook.ActiveSheet

#添加内容:0.0,0.5,1.0
Base.Cells(1,1).Value='Values'
Base.Cells(1,2).Value=0.0
Base.Cells(1,3).Value=0.5
Base.Cells(1,4).Value=1.0

Workbook.SaveAs("F:\\test.xlsx")

#关闭文档
Workbook.Close()

#退出Excel
Application.Quit()

相关推荐:《Python视频教程》

二、对Excel文件进行读取操作:

#!/usr/bin/python3
#-*-coding:utf-8-*-

#导入模块
importwin32com.client

#打开Excel
Application=win32com.client.Dispatch("Excel.Application")
#或者使用下面的方法,使用启动独立的进程:
#Application=win32com.client.DispatchEx("Excel.Application")

#后台运行,显示程序界面,不警告
Application.Visible=1#调试阶段建设打开
Application.DisplayAlerts=0

#打开一个文档
Workbook=Application.Workbooks.Open("F:\\test.xlsx")
Base=Workbook.Worksheets(1)

#接受当前工作表
Base=Workbook.ActiveSheet

#列数
ncols=0
whileTrue:
cell_value=Base.Cells(1,ncols+1).Value
ifcell_value:
ncols+=1
else:
break

#行数
nrows=0
whileTrue:
cell_value=Base.Cells(nrows+2,1).Value#第一行表头
ifcell_value:
forcolinrange(ncols):
cell_key=Base.Cells(1,col+1).Value
cell_value=Base.Cells(nrows+2,col+1).Value
print(cell_key,"=>",cell_value,end="\t")
print("")
nrows+=1
else:
break

#关闭文档
Workbook.Close()

#退出Excel
Application.Quit()

假设test.xlsx文件中的内容如下:

则,运行以上程序输出:

序号=>1.0姓名=>张三姓别=>男地址=>北京
序号=>2.0姓名=>李四姓别=>女地址=>上海
序号=>3.0姓名=>王五姓别=>男地址=>南京

THE END

发表回复