主頁 > 知識庫 > python之openpyxl模塊的安裝和基本用法(excel管理)

python之openpyxl模塊的安裝和基本用法(excel管理)

熱門標簽:滴滴地圖標注公司 智能電話機器人調(diào)研 天津塘沽區(qū)地圖標注 地圖標注可以遠程操作嗎 400電話在線如何申請 杭州房產(chǎn)地圖標注 江門智能電話機器人 甘肅高頻外呼系統(tǒng) 如何申請400電話代理

前言

openpyxl模塊是一個讀寫Excel 2010文檔的Python庫,如果要處理更早格式的Excel文檔,需要用到額外的庫,openpyxl是一個比較綜合的工具,能夠同時讀取和修改Excel文檔。其他很多的與Excel相關(guān)的項目基本只支持讀或者寫Excel一種功能。
要對excel進行操作,必須要有能打開excel的軟件,這里以wps為例

一.獲取wps的安裝包并安裝

二.excel文檔的基本定義

1) 工作薄(workbook):一個EXCEL文件就稱為一個工作薄,一個工作薄中可以包含若干張工作表。

2) 工作表(sheet):工作薄中的每一張表格稱為工作表,每張工作表都有一個標簽,默認為sheet1\sheet2\sheet3來命名,(一個工作 薄默認為由3個工作表組成)

3) 活動表(active sheet):指當前正在操作的工作表

4) 行(row): 工作表中的每一行行首數(shù)字(1、2、3、)稱為行標題;一張工作表最多有65536行

5) 列(column): 列標題:工作表中每一列列首的字母(A、B、C)稱為列標題;一張工作表最多有256列

6)單元格(cell): 工作表的每一個格稱為單元格

三.導入openpyxl模塊

在pycharm下,執(zhí)行import openpyxl,發(fā)現(xiàn)會報錯,這時我們將鼠標放在openpyxl上,按下alt + enter,選擇第一個進行安裝。

 

出現(xiàn)下圖,說明安裝成功。

 

如果安裝失敗,就需要到第三方庫進行安裝。

pip3 install openpyx

四.openpyxl基本用法

1.創(chuàng)建對象

打開或者創(chuàng)建一個Excel需要創(chuàng)建一個Workbook對象

獲取一個表則需要先創(chuàng)建一個Workbook對象,然后使用該對象的方法來得到一個Worksheet對象

如果要獲取表中的數(shù)據(jù),那么得到Worksheet對象以后再從中獲取代表單元格的Cell對象

Workbook對象

  一個Workbook對象代表一個Excel文檔,因此在操作Excel之前,都應(yīng)該先創(chuàng)建一個Workbook對象。對于創(chuàng)建一個新的Excel文檔,直接進行Workbook類的調(diào)用即可,對于一個已經(jīng)存在的Excel文檔,可以使用openpyxl模塊的load_workbook函數(shù)進行讀取,該函數(shù)包涵多個參數(shù),但只有filename參數(shù)為必傳參數(shù)。filename 是一個文件名,也可以是一個打開的文件對象

import openpyxl
wb = openpyxl.Workbook('Book1.xlsx')
wb1 = openpyxl.load_workbook('Book2.xlsx')

print(wb)
print(type(wb))
print(wb1)
print(type(wb1))

2.Workbook對象屬性(工作簿操作)

sheetnames:獲取工作簿中的表(列表)

active:獲取當前活躍的Worksheet

worksheets:以列表的形式返回所有的Worksheet(表格)

read_only:判斷是否以read_only模式打開Excel文檔

encoding:獲取文檔的字符集編碼

properties:獲取文檔的元數(shù)據(jù),如標題,創(chuàng)建者,創(chuàng)建日期等

import openpyxl

wb = openpyxl.load_workbook('Book2.xlsx')
print(wb.sheetnames)
print(wb.active)
print(wb.worksheets)
print(wb.read_only)
print(wb.encoding)
print(wb.properties) ##運行結(jié)果最后三行屬于該屬性

excel信息

 

運行結(jié)果

3.Worksheet,Cell對象(工作表操作,單元格)

Worksheet:

title:表格的標題

max_row:表格的最大行

min_row:表格的最小行

max_column:表格的最大列

min_column:表格的最小列

rows:按行獲取單元格(Cell對象) - 生成器

columns:按列獲取單元格(Cell對象) - 生成器

values:按行獲取表格的內(nèi)容(數(shù)據(jù)) - 生成器

Cell:

row:單元格所在的行

column:單元格坐在的列

value:單元格的值

coordinate:單元格的坐標

import openpyxl

wb = openpyxl.load_workbook('Book2.xlsx')
##選擇要操作的工作表, 返回工作表對象
sheet = wb['排序商品信息']
#獲取工作表的名稱
print(sheet.title)
# 獲取工作表中行和列的最值
print(sheet.max_column)
print(sheet.max_row)
print(sheet.min_column)
print(sheet.min_row)
##修改表的名稱
sheet.title = 'sheet1'
print(sheet.title)
# 返回指定行指定列的單元格信息
print(sheet.cell(row=1, column=2).value)
cell = sheet['B1']
print(cell)
print(cell.row, cell.column, cell.value,cell.coordinate)

運行前excel信息

 

4.訪問單元格的所有信息

import openpyxl

wb = openpyxl.load_workbook('Book2.xlsx')
##選擇要操作的工作表, 返回工作表對象
sheet = wb['排序商品信息']
for row in sheet.rows:
 # 循環(huán)遍歷每一個單元格
 for cell in row:
 # 獲取單元格的內(nèi)容
 print(cell.value, end=',')
 print()

import openpyxl

wb = openpyxl.load_workbook('Book2.xlsx')
##選擇要操作的工作表, 返回工作表對象
sheet = wb['排序商品信息']
for row in sheet.values:
 print(*row)

5.應(yīng)用案例

需求:

商品名稱 商品價格 商品數(shù)量

- 定義一個函數(shù), readwb(wbname, sheetname=None)

- 如果用戶指定sheetname就打開用戶指定的工作表, 如果沒有指定, 打開active sheet;

- 根據(jù)商品的價格進行排序(由小到大), 保存到文件中;商品名稱:商品價格:商品數(shù)量

- 所有信息, 并將其保存到數(shù)據(jù)庫中;

import os

import openpyxl


def readwb(wbname, sheetname=None):
 # 打開工作薄
 wb = openpyxl.load_workbook(wbname)
 # 獲取要操作的工作表
 if not sheetname:
  sheet = wb.active
 else:
  sheet = wb[sheetname]

 # 獲取商品信息保存到列表中
 #[ ['name', price, count]
 #
 # ]
 all_info = []
 for row in sheet.rows:
  child = [cell.value for cell in row]
  all_info.append(child)
 return sorted(all_info, key=lambda item: item[1])


def save_to_excel(data, wbname, sheetname='sheet1'):
 """
 將信息保存到excel表中;
 [[' BOOK', 50, 3], ['APPLE', 100, 1], ['BANANA', 200, 0.5]]
 """
 print("寫入Excel[%s]中......." %(wbname))
 # 打開excel表, 如果文件不存在, 自己實例化一個WorkBook對象
 wb = openpyxl.Workbook()
 # 修改當前工作表的名稱
 sheet = wb.active
 # 修改工作表的名稱
 sheet.title = sheetname

 for row, item in enumerate(data): # 0 [' BOOK', 50, 3]
  for column, cellValue in enumerate(item): # 0 ' BOOK'
   sheet.cell(row=row+1, column=column+1, value=cellValue)

 # ** 往單元格寫入內(nèi)容
 # sheet.cell['B1'].value = "value"
 # sheet.cell(row=1, column=2, value="value")

 # 保存寫入的信息
 wb.save(filename=wbname)
 print("寫入成功!")

data = readwb(wbname='Book1.xlsx')
save_to_excel(data, wbname='Book2.xlsx', sheetname="排序商品信息")

原excel信息

 

新excel信息

總結(jié)

到此這篇關(guān)于python之openpyxl模塊的安裝和基本用法的文章就介紹到這了,更多相關(guān)python openpyxl模塊(excel管理)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python使用openpyxl庫讀寫Excel表格的方法(增刪改查操作)
  • Python利器openpyxl之操作excel表格
  • python中openpyxl和xlsxwriter對Excel的操作方法
  • python 使用openpyxl讀取excel數(shù)據(jù)
  • python 利用openpyxl讀取Excel表格中指定的行或列教程
  • Python3利用openpyxl讀寫Excel文件的方法實例
  • python基于openpyxl生成excel文件
  • Python自動化辦公Excel模塊openpyxl原理及用法解析
  • python3.7 openpyxl 在excel單元格中寫入數(shù)據(jù)實例
  • Python使用OpenPyXL處理Excel表格
  • Python openpyxl模塊實現(xiàn)excel讀寫操作
  • python使用openpyxl操作excel的方法步驟
  • 解決python執(zhí)行較大excel文件openpyxl慢問題
  • Python3讀寫Excel文件(使用xlrd,xlsxwriter,openpyxl3種方式讀寫實例與優(yōu)劣)
  • python 的 openpyxl模塊 讀取 Excel文件的方法
  • Python操作excel的方法總結(jié)(xlrd、xlwt、openpyxl)
  • python操作openpyxl導出Excel 設(shè)置單元格格式及合并處理代碼實例
  • Python Excel處理庫openpyxl詳解

標簽:德宏 東莞 臨汾 河池 長春 漢中 廊坊 重慶

巨人網(wǎng)絡(luò)通訊聲明:本文標題《python之openpyxl模塊的安裝和基本用法(excel管理)》,本文關(guān)鍵詞  python,之,openpyxl,模塊,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python之openpyxl模塊的安裝和基本用法(excel管理)》相關(guān)的同類信息!
  • 本頁收集關(guān)于python之openpyxl模塊的安裝和基本用法(excel管理)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章