中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中如何對excel進行操作

發布時間:2021-06-15 16:16:06 來源:億速云 閱讀:172 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關python中如何對excel進行操作,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

安裝

pip install openpyxl

pillow:在文件中需要使用images (jpeg, png, bmp,...)時,需要安裝pillow庫。

注意:寫操作時請關閉需要操作的excel文件,否則寫不成功

加載xlsx操作內容

加載外部excel的xlsx步驟:

加載xlsx文件,獲得該文件的句柄,為workbook

from openpyxl import load_workbook
wb2 = load_workbook('test.xlsx')
print wb2.get_sheet_names()
# ['Sheet2', 'New Title', 'Sheet1']

在內存中新建workbook

創建 workbook

開始使用openpyxl,沒有必要在文件系統上創建一個文件。

只需要導入Workbook類并開始使用它。可以把wordbook想象成一個excel文件。

from openpyxl import Workbook
wb = Workbook()
workbook創建后至少至少要創建一個worksheet。使用 openpyxl.workbook.Workbook.active()
ws = wb.active

該方法使用了_active_sheet_index屬性, 默認會設置0

創建worksheet

使用 openpyxl.workbook.Workbook.create_sheet() 創建新的worksheet

ws1 = wb.create_sheet("new_sheet_1") # 新建sheet,插入到最后(默認)
ws2 = wb.create_sheet("new_sheet_2", 0) # 插入到最開始的位置

指定worksheet的名稱

不指定sheet名稱時,按照sheet,sheet1,sheet2自動增長

ws3 = wb.create_sheet()

自定義worksheet名稱,通過title屬性指定名稱,設置了sheet的名稱

ws3.title = "new_sheet_3"

輸出wb現在所有的sheetname查看

通過 openpyxl.workbook.Workbook.sheetnames() 輸出wb現在所有的sheetname

print wb.get_sheet_names()
print(wb.sheetnames)

循環

for sheet in wb:
print(sheet.title)

指定worksheet tab按鈕的顏色

新建的sheet tab顏色為白色,可以另外指定sheet tab按鈕的顏色

ws3.sheet_properties.tabColor = "1072BA"

激活某個worksheet

通過worksheet名稱激活某個sheet使用

名稱看成workbook中的一個key

ws3 = wb["new_sheet_3"]

通過 _active_sheet_index 激活某個sheet使用

wb._active_sheet_index = 1 # 獲取第二個sheet

創建worksheet副本

使用 openpyxl.workbook.Workbook.copy_worksheet() 創建worksheet副本

source = wb.active
target = wb.copy_worksheet(source)

只能復制cell和style。不能復制工作表之間的工作簿。

操作單元格

當worksheet在內存中被創建時,是沒有包含cells的,cells是在首次訪問時創建

單元格可以看作是worksheet的key,通過key去訪問單元格中的數據

c = ws['A3'] # 訪問單元格,不存在則會自動創建一個
print c.value
ws['A4'] = 'a4 value' # 指定單元格的值
print ws['A4'].value
d = ws.cell(row=4, column=2, value='通過cell指定') # 通過row column數字指定
print d.value

循環在內存中創建cells

不用指定其值也可以在內存中創建

for i in range(1, 10):
for j in range(1, 10):
ws.cell(row=i, column=j)

通過切片Ranges指定許多cells

cell_range = ws['A1':'C2']

也可以Ranges rows 或者columns

print ws['C']
print ws['C:D']
print ws[10]
print ws[5:10]

也可以使用iter_rows() 指定行->行,截止列

for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
for c in row:
print(c)
iter_cols() 指定列->列,截止行
for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
for c in row:
print(c)

遍歷所有文件的行或列

ws['C9'] = 'hello world'
tuple(ws.rows) # 轉化成tuple方便for in操作
tuple(ws.columns)

保存文件

wb = Workbook()
wb.save("assets/sample.xlsx")

此操作將覆蓋現有的文件沒有警告。

所有的操作都需要保存到excel才能看見

保存為模板

指定屬性 as_template=True ,就可以將文檔保存為模板.xltx

wb = load_workbook('document.xlsx')
wb.template = True
wb.save('document_template.xltx')

或者將該屬性設置為False(默認),另存為一個文檔:

wb = load_workbook('document_template.xltx')
wb.template = False
wb.save('document.xlsx', as_template=False)

使用公式

wb = load\_workbook\('assets/sample.xlsx'\)
ws = wb.active
ws\["A5"\] = "=SUM\(2, 1\)"
wb.save\("assets/sample.xlsx"\)

以上就是python中如何對excel進行操作,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

太谷县| 林甸县| 岳池县| 鹤壁市| 邹城市| 东方市| 洞头县| 北碚区| 巢湖市| 云南省| 商城县| 西平县| 南郑县| 贡山| 武汉市| 东阿县| 松潘县| 拉萨市| 饶阳县| 裕民县| 北川| 曲水县| 蒙自县| 玉门市| 无棣县| 锡林浩特市| 英吉沙县| 桐柏县| 阳原县| 汶川县| 达拉特旗| 永平县| 涞水县| 罗平县| 荆州市| 沿河| 衡水市| 漳浦县| 富阳市| 河南省| 南安市|