頻道欄目
首頁 > 網絡 > 其他 > 正文

Python利用openpyxl處理Excel文件(Excel文件基本操作)-占興 從心開始-51CTO博客

2020-05-14 12:53:47           
收藏   我要投稿

對于openyxl進行Excel操作:本文介紹簡單的openyxl對Excel的基本操作。1、創建Excel文件form openyxl import Workbookwb = Workbook()wb 為一個Workbook對象,而這個對象的屬性我們還沒有具體定義,還在內存中,通過save()方法,我們將工作簿對象保存在本地。我們保存的這個工作簿中默認只有一張名為“Sheet”的工作表。2、打開已有的Excel文件form openyxl import load_workbookwb = load_workbook('test.xlsx')我們利用load——workbook()方法打開一個Excel文件,該方法還是返回了一個Workbook對象。

3、獲得活動工作表當然,獲得活動的工作表之前,如果我們想要知道工作簿中具體有多少個工作表呢?代碼如下:list_ws = wb.get_sheet_names()

list_ws是一個列表,元素為工作薄wb中所有的工作表名稱。如果要返回所有的工作表對象,則使用:wb.worksheets

如何獲得活動的工作表(即當前工作表)current_ws = wb.get_active_sheet()

current_ws返回一個當前活動的工作表。

4、創建一個工作表

ws = wb.create_sheet(index=0, title="ws name")不帶參數,默認index為0

ws = wb.create_sheet("ws name")

可以設置表格的顏色、標題等內容

ws.title = "ws name change"

ws.sheet_properties.tabColor = "A78b27"

此外,還可以獲得表格的以下幾個常用屬性:

ws.dimensions: 表格的大小,這里的大小是指含有數據的表格的大小,即:左上角的坐標:右下角的坐標,空表返回'A1:A1'。

ws.min_row: 表格的最小行ws.max_row:表格的最大行ws.min_column:表格的最小列ws.max_column:表格的最大列ws.rows:按行獲取單元格(Cell對象)--生成器columns:按列獲取單元格(Cell對象)--生成器freeze_panes:凍結窗口values:按行獲取表格的內容(數據)--生成器

5、創建一個工作表的副本sourceSheet = wb.active

targetSheet = wb.copy_worksheet(sourceSheet)

6、操作Excel數據(Cell)(1).訪問一個單元格c = ws['A4'] #訪問a4單元格(2).一個單元格賦值

ws['A4'] = 4

c = ws.cell(row=4, column=1, value=4)內存中創建工作表,不包括單元格,單元格式首次訪問時才創建的

(3).訪問多個單元格(1)范圍內的單元格使用切片處理cellRange = ws['A1':'E10']

范圍可以獲得同樣的行或者列colC = ws['B'] #獲得C列數據

colRange = ws['B':'E'] #獲得B列到E列數據

rowD = ws[10] #獲得第10行的數據

rowRange = ws[5:10] #獲得5-10行的數據

(2)元素遍歷

行遍歷使用Worksheet的iter_rows()方法for row in ws.rows(min_row=1,max_row=12,min_column=1,max_column=12):

for cell in row:

print(cell)

min_row、max_row、min_column、max_column設定iter_rows的行范圍。

2.列遍歷使用Worksheet的iter_cols()方法

for col in ws.cols(min_row=1,max_row=12,min_column=1,max_column=12):

for cell in col:

print(cell)

3.遍歷所有的行ws.rows或遍歷所有的列ws.columns

print(tuple(ws.rows))

print(tuple(ws.columns))

(4).單元格數據存儲

一旦我們有了一個Cell對象,我們就可以分配一個值:

c.value = 'hello, world' # 可以是字符串類型

c.value = 2.25 # 可以使浮點數類型

您還可以使類型和格式推理:

wb = Workbook(guess_types=True)

c.value = '15%' # 百分比

c.value = datetime.datetime.now() # datetime類型

c.value = '21.32' # 將浮點數類型變成字符串賦值

可以看出單元格存儲的數據是多種類型的。

7、Excel文件保存wb = Workbook()

wb.save(excel_name)

注:此操作將覆蓋源文件沒有提示。

示例:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/3/17 10:21
# @Author : Zhanxing
# @Site : 
# @File : test.py
# @Software: PyCharm
import openpyxl
def create_sheet_cell(nSheet,nCell):
    wb = openpyxl.Workbook()
    for n in range(nSheet):
        wb.create_sheet(index=n,title="Sheet" + str(n+1))
        currentSheet = wb.active
        for r in  range(1,nCell+1):
            for c in range(1,nCell+1):
                cell = currentSheet.cell(row=r,column=c,value=r*c)
    wb.save("test.xlsx")

if __name__ == "__main__":
    nSheet = int(input("輸入電子表格的個數(整數):"))
    nCell = int(input("輸入乘法表的最大值(整數):"))
    create_sheet_cell(nSheet, nCell)
上一篇:zabbix-server啟動失。簆id not readable-Heartnight();-51CTO博客
下一篇:redis-4.0.2源碼安裝-15809293299的博客-51CTO博客
相關文章
圖文推薦
文章
推薦
熱門新聞

關于我們 | 聯系我們 | 廣告服務 | 投資合作 | 版權申明 | 在線幫助 | 網站地圖 | 作品發布 | Vip技術培訓 | 舉報中心

版權所有: 紅黑聯盟--致力于做實用的IT技術學習網站

重庆快乐十分开奖记录