新聞中心

創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元城陽做網(wǎng)站,已為上家服務(wù),為城陽各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
使用python操作Office——Excel
首先介紹下office win32 com接口,這個(gè)是MS為自動(dòng)化提供的操作接口,比如我們打開一個(gè)EXCEL文檔,就可以在里面編輯VB腳本,實(shí)現(xiàn)我們自己的效果。對(duì)于這種一本萬利的買賣,Python怎么能放過,它內(nèi)置了對(duì)于win32 com接口的支持,我們可以方便的控制。
要想熟悉使用office win32 com接口,沒有什么比MS提供的API文檔更加權(quán)威了。
下面我們以操作EXCEL文檔為例:
一、對(duì)Excel文件進(jìn)行寫入操作:
#!/usr/bin/python3
# -*- coding:utf-8 -*-
# 導(dǎo)入模塊
import win32com.client
# 打開Excel
Application = win32com.client.Dispatch("Excel.Application")
# 或者使用下面的方法,使用啟動(dòng)獨(dú)立的進(jìn)程:
# Application = win32com.client.DispatchEx("Excel.Application")
# 后臺(tái)運(yùn)行,顯示程序界面,不警告
Application.Visible = 1 # 調(diào)試階段建議打開
Application.DisplayAlerts = 0
# 新建一個(gè)文檔
Workbook = Application.Workbooks.Add()
# 打開一個(gè)文檔
Workbook = Application.Workbooks.Open("F:\\test.xlsx")
# 根據(jù)工作表名
Base = Workbook.Worksheets("Sheet1")
# 根據(jù)工作表順序
# Base = Workbook.Worksheets(1)
# 接受當(dāng)前工作表
# Base = Workbook.ActiveSheet
# 添加內(nèi)容: 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")
# 關(guān)閉文檔
Workbook.Close()
# 退出Excel
Application.Quit()相關(guān)推薦:《Python視頻教程》
二、對(duì)Excel文件進(jìn)行讀取操作:
#!/usr/bin/python3
# -*- coding:utf-8 -*-
# 導(dǎo)入模塊
import win32com.client
# 打開Excel
Application = win32com.client.Dispatch("Excel.Application")
# 或者使用下面的方法,使用啟動(dòng)獨(dú)立的進(jìn)程:
# Application = win32com.client.DispatchEx("Excel.Application")
# 后臺(tái)運(yùn)行,顯示程序界面,不警告
Application.Visible = 1 # 調(diào)試階段建設(shè)打開
Application.DisplayAlerts = 0
# 打開一個(gè)文檔
Workbook = Application.Workbooks.Open("F:\\test.xlsx")
Base = Workbook.Worksheets(1)
# 接受當(dāng)前工作表
Base = Workbook.ActiveSheet
#列數(shù)
ncols = 0
while True:
cell_value = Base.Cells(1, ncols + 1).Value
if cell_value:
ncols += 1
else:
break
# 行數(shù)
nrows = 0
while True:
cell_value = Base.Cells(nrows + 2, 1).Value # 第一行表頭
if cell_value:
for col in range(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
# 關(guān)閉文檔
Workbook.Close()
# 退出Excel
Application.Quit()假設(shè)test.xlsx文件中的內(nèi)容如下:
則,運(yùn)行以上程序輸出:
序號(hào) => 1.0 姓名 => 張三 姓別 => 男 地址 => 北京 序號(hào) => 2.0 姓名 => 李四 姓別 => 女 地址 => 上海 序號(hào) => 3.0 姓名 => 王五 姓別 => 男 地址 => 南京
新聞名稱:創(chuàng)新互聯(lián)Python教程:Python如何使用Excel文件
鏈接URL:http://m.fisionsoft.com.cn/article/djdhhij.html


咨詢
建站咨詢
