欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python操作excel的方法

 更新時間:2018年08月16日 11:26:33   作者:Luna丶  
Openpyxl是一個常用的python庫,用于對Excel的常用格式及其模板進(jìn)行數(shù)據(jù)讀寫等操作。這篇文章主要介紹了python操作excel的方法,需要的朋友可以參考下

摘要:

Openpyxl是一個常用的python庫,用于對Excel的常用格式及其模板進(jìn)行數(shù)據(jù)讀寫等操作。

簡介與安裝openpyxl庫

Openpyxl is a Python library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.

安裝

pip install openpyxl

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

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

加載xlsx操作內(nèi)容

加載外部excel的xlsx步驟:

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

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

在內(nèi)存中新建workbook

創(chuàng)建 workbook

開始使用openpyxl,沒有必要在文件系統(tǒng)上創(chuàng)建一個文件。

只需要導(dǎo)入Workbook類并開始使用它??梢园褀ordbook想象成一個excel文件。

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

該方法使用了_active_sheet_index屬性, 默認(rèn)會設(shè)置0

創(chuàng)建worksheet

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

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

指定worksheet的名稱

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

ws3 = wb.create_sheet()

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

ws3.title = "new_sheet_3"

輸出wb現(xiàn)在所有的sheetname查看

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

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

循環(huán)

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

創(chuàng)建worksheet副本

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

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

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

操作單元格

當(dāng)worksheet在內(nèi)存中被創(chuàng)建時,是沒有包含cells的,cells是在首次訪問時創(chuàng)建

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

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

循環(huán)在內(nèi)存中創(chuàng)建cells

不用指定其值也可以在內(nèi)存中創(chuàng)建

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) # 轉(zhuǎn)化成tuple方便for in操作
tuple(ws.columns)

保存文件

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

此操作將覆蓋現(xiàn)有的文件沒有警告。

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

保存為模板

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

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

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

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"\)

總結(jié)

以上所述是小編給大家介紹的python操作excel的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 進(jìn)一步理解Python中的函數(shù)編程

    進(jìn)一步理解Python中的函數(shù)編程

    這篇文章主要介紹了進(jìn)一步理解Python中的函數(shù)編程,本文進(jìn)一步討論了Python中函數(shù)編程的一些要點(diǎn),來自IBM官方技術(shù)文檔,需要的朋友可以參考下
    2015-04-04
  • python 打印完整異常問題

    python 打印完整異常問題

    這篇文章主要介紹了python 打印完整異常問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python工程師必考的6個經(jīng)典面試題

    Python工程師必考的6個經(jīng)典面試題

    在本篇文章里小編給大家分享的是一篇關(guān)于6個Python工程師必考的面試題,有需要的朋友們可以參考學(xué)習(xí)下。
    2020-06-06
  • pytorch中tensor轉(zhuǎn)換為float的實(shí)現(xiàn)示例

    pytorch中tensor轉(zhuǎn)換為float的實(shí)現(xiàn)示例

    本文主要介紹了pytorch中tensor轉(zhuǎn)換為float,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • python實(shí)現(xiàn)在線翻譯

    python實(shí)現(xiàn)在線翻譯

    這篇文章主要介紹了python實(shí)現(xiàn)在線翻譯,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • 利用Python實(shí)現(xiàn)簡單的相似圖片搜索的教程

    利用Python實(shí)現(xiàn)簡單的相似圖片搜索的教程

    這篇文章主要介紹了利用Python實(shí)現(xiàn)簡單的相似圖片搜索的教程,文中的示例主要在一個圖片指紋數(shù)據(jù)庫中實(shí)現(xiàn),需要的朋友可以參考下
    2015-04-04
  • Python基礎(chǔ)之字典常見操作經(jīng)典實(shí)例詳解

    Python基礎(chǔ)之字典常見操作經(jīng)典實(shí)例詳解

    這篇文章主要介紹了Python基礎(chǔ)之字典常見操作,結(jié)合實(shí)例形式詳細(xì)分析了Python基本功能、創(chuàng)建、內(nèi)置函數(shù)與相關(guān)使用技巧,需要的朋友可以參考下
    2020-02-02
  • Pytorch如何加載部分權(quán)重

    Pytorch如何加載部分權(quán)重

    這篇文章主要介紹了Pytorch如何加載部分權(quán)重問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python對象銷毀實(shí)例(垃圾回收)

    python對象銷毀實(shí)例(垃圾回收)

    今天小編就為大家分享一篇python對象銷毀實(shí)例(垃圾回收),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python使用re模塊實(shí)現(xiàn)正則表達(dá)式操作指南

    Python使用re模塊實(shí)現(xiàn)正則表達(dá)式操作指南

    在Python中需要通過正則表達(dá)式對字符串進(jìn)?匹配的時候,可以使??個python自帶的模塊,名字為re,下面這篇文章主要給大家介紹了關(guān)于Python使用re模塊實(shí)現(xiàn)正則表達(dá)式操作的相關(guān)資料,需要的朋友可以參考下
    2022-07-07

最新評論