pythonのopenpyxlモジュールのインストールと基本的な使い方(excel管理)


前言
openpyxlモジュールは、Excel 2010ドキュメントを読み書きするためのPythonライブラリであり、もっと早いフォーマットのExcel文書を処理するためには、追加のライブラリを使用する必要があります。openpyxlは比較的総合的なツールであり、Excelドキュメントを同時に読み込んで修正することができます。他の多くのExcel関連の項目は基本的に読むか、Excelを書くだけです。
エクセルを操作するにはエクセルを開くソフトウェアが必要です。ここではwpsを例にします。
一.wpsのインストールパッケージを取得し、インストールする
这里写图片描述
二.excel文書の基本的な定義
1)ワークシート(workbook):一つのEXCELファイルは一つのワークシートといい、一つのワークシートにはいくつかのシートが含まれています。
2)シート(sheet):シートごとにシートといい、シートごとにラベルがあります。デフォルトはsheet 1\sheet 2\sheet 3といいます。
3)活動表(active sheet):現在操作中のシートを指します。
4)行(row):シートの行頭数字(1、2、3)を行タイトルと呼びます。一枚のシートは最大65536行です。
5)列(column):列のタイトル:シートの各列の最初の文字(A、B、C)を列のタイトルと呼びます。シートは最大256列です。
6)セル(セル):シートの各セルをセルと呼びます。
三.openpyxlモジュールの導入
pycharmの下で、import openpyxlを実行して、間違いを報告することができることを発見して、この時に私達はマウスをopenpyxlの上に置いて、alt+enterを押して、最初を選んでインストールを行います。
这里写图片描述 
下図が出てきました。インストールが成功したと説明します。
这里写图片描述 
インストールに失敗したら、第三者のライブラリにインストールする必要があります。

pip3 install openpyx
四.openpyxlの基本的な使い方
1.オブジェクトの作成
Excelを開くか作成するには、Workbookオブジェクトを作成する必要があります。
表を取得するにはまずWorkbookオブジェクトを作成し、そのオブジェクトを使用してWorksheetオブジェクトを取得する必要があります。
表のデータを取得する場合は、Worksheetオブジェクトを取得してから、代表セルのCellオブジェクトを取得します。
Work book対象
一つのWorkbookの対象はExcel文書を表していますので、Excelを操作する前に、Workbookオブジェクトを作成するべきです。新しいExcel文書を作成するには、Workbookクラスの呼び出しを直接行います。既に存在しているExcel文書に対して、openpyxlモジュールのロード(u)が使用できます。workbook関数を読み込みます。この関数は複数のパラメータを含みますが、filenameパラメータだけが必須パラメータです。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_で判断するかどうかオンリーモードでExcelドキュメントを開きます。
encoding:ドキュメントの文字セットコードを取得します。
properties:ドキュメントのメタデータを取得します。タイトル、作成者、作成日などです。

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) ##             
エクセル情報
这里写图片描述 
実行結果
这里写图片描述
3.Worksheet、Cellオブジェクト(シート操作、セル)
Worksheet:
title:表のタイトル
max_row:表の最大行
min.row:表の一番小さい行
max_テーブルの最大列
min.テーブルの最小列
rows:行でセル(Cellオブジェクト)-ジェネレータを取得します。
columns:列でセル(Cellオブジェクト)-ジェネレータを取得します。
values:行ごとにテーブルの内容(データ)-ジェネレータを取得します。
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)
運転前エクセル情報
这里写图片描述 
这里写图片描述
4.セルにアクセスするすべての情報

import openpyxl

wb = openpyxl.load_workbook('Book2.xlsx')
##         ,        
sheet = wb['      ']
for row in sheet.rows:
 #           
 for cell in row:
 #         
 print(cell.value, end=',')
 print()
这里写图片描述

import openpyxl

wb = openpyxl.load_workbook('Book2.xlsx')
##         ,        
sheet = wb['      ']
for row in sheet.values:
 print(*row)
这里写图片描述
5.応用事例
必要:
商品名商品価格商品数
-関数を定義し、readwb(wbname,sheetname=None)
-ユーザーがsheetnameを指定すると、ユーザーが指定したシートを開きます。指定がない場合は、active sheetを開きます。
-商品の価格によって並べ替え(小さいから大きいまで)、ファイルに保存します。商品名:商品価格:商品数
-すべての情報をデータベースに保存します。

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)

 # **         
 # 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="      ")
元エクセル情報
这里写图片描述 
新エクセル情報
这里写图片描述
締め括りをつける
ここでは、pythonのopenpyxlモジュールのインストールと基本的な使い方についての記事を紹介します。python openpyxlモジュール(excel管理)に関するものは以前の文章を検索したり、以下の関連記事を見たりしてください。これからもよろしくお願いします。