python 办公_python 让办公变得自动化
openpyxl是什么
openpyxl是一個python第三方庫,用于操作excel表格。openpyxl可以對excel進行讀取數據或者寫入數據,使辦公變得自動化!
安裝
前面說過openpyxl是一個第三方庫,所以我們在使用openpyxl之前要進行一個安裝。我們可以用wheel安裝法,也可以用zip,但是我建議大家還是用pip,簡便一些。
首先我們要打開我們的終端
在終端里輸入pip install openpyxl
(下載速度太慢的可以使用豆瓣源pip install openpyxl -i http://pypi.douban.com/simple/)
如果沒報錯,就說明安裝成功了!
讀取數據
安裝完畢之后,我們就開始嘗試讀取excel里面的數據,就拿一個叫做報價.xlsx的文件舉例子。
(請掃碼獲取文件)
首先,我們要從openpyxl這個庫里面導入一個叫做load_workbook的模塊,輸入這段代碼。
from openpyxl import load_workbook
之后我們就能導入我們的excel表格了。不過要注意的是,excel表格文件有兩種后綴名,一種是.xlsx,還有一種是.xls。我們在導入的時候我們只能導入.xlsx的excel表格文件。如果你的excel表格文件是.xls結尾的,你可以把后綴名改成.xlsx。不用擔心,改了之后你的excel表格不會出現任何問題的。還有的就是load_workbook這個函數不能用于創建excel表格,只能獲取到已經創建的表格。
(這里的話我建議還是打開xls文件另存為xlsx文件, xls文件也有xlrd、xlwt兩個包能使用,但是這兩個包不好用)
workbook = load_workbook('報價.xlsx')#這里請輸入你的excel表格文件的路徑
在我們這個的報價表格文件里,我們有兩張工作表(英文為sheet)。分別叫做Sheet1和Sheet2(當然你可以改名)。我們可以用workbook.sheetnames屬性來打印出所有的sheet。
print(workbook.sheetnames)
我們還可以通過workbook[sheet名字]獲取表格,然后再通過sheet.dimensions屬性獲取Sheet1和Sheet2的大小。
for i in workbook.sheetnames:
sheet = workbook[i]#獲取每一張sheet工作表
print(sheet.dimensions)#打印出每一張sheet工作表的尺寸
返回結果:
A1:B5
A1:A1
若要獲取當前的工作表名字,使用sheet.title方法
print(sheet.title)
如果要獲取一個指定格子的數據,我們可以通過cell = sheet[格子],然后cell.value實現。
cell = sheet['A1']
print(cell.value)
這樣我們就獲取到了A1格子的數據“PS5 2020款”。
如果要獲取某一列的所有帶有數據的格子,我們可以這么做。
cells = sheet['A']#進入A列
print(cells)
返回結果(元組):
(, , , , )
寫入數據
我們完成了如何讀取數據,現在就來開始創建一個excel表格文件。
引入我們的openpyxl庫。
import openpyxl
如果你已經創建好了一個準備被寫入的excel表格文件,請輸入一下代碼。
wb = openpyxl.load_workbook('文件路徑')
如果你想寫入數據到一個還沒有被創建過的excel文件,請輸入一下代碼。
wb = openpyxl.Workbook()
我們現在還要獲取sheet,如果你是單個sheet,直接這樣做就行了。
sheet = wb.active
如果你的excel表格文件有多張工作表,你就需要這樣做。
sheet = workbook[指定工作表名稱]
以下是在指定格子寫入數據的代碼。
cell = sheet['格子']#把A1改成你想要的格子
cell.value = '內容'
wb.save(保存的文件名)
當你打開這個excel文件,你就會發現A1格子上你剛剛寫入的數據(若這個格子已經有了一段文字,新寫入的數據會把它覆蓋掉)。
若想要一次性寫入多個數據,我們還可以利用sheet.append方法。
data = [['x','x','x'],['x','x','x','x']]
for row in data:
sheet.append(row)
wb.save(保存的文件名)
data是一個帶有列表的列表,里面的列表的數據就相當于工作表的每一行,在每一次append之后,sheet就會跳到下一行繼續加數據。
如果你想創建一個新的sheet,那你可以使用create_sheet()方法。
下一步
openpyxl的教程就結束了,如果你還想了解更多關于openpyxl的東西,你可以進行百度openpyxl的帖子。或者你還可以去閱讀openpyxl的官方教程
本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
coder Derek
總結
以上是生活随笔為你收集整理的python 办公_python 让办公变得自动化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么在电脑上使用python3.6_Wi
- 下一篇: python程序设计试卷_2013Pyt