PythonのExcelに対する一般的な操作
6994 ワード
本文はPythonのExcelに対するよく使う操作のデモです
テスト環境:
Python 3.7 openpyxl 3.0.5 Windows 10プロフェッショナル版(CPU:i 5-8500 RAM:16 GB)
使用したPythonパッケージ:
1.OS(内蔵、インストール不要)2.random(内蔵、インストール不要)3.Openpyxlインストール:
実行コード
Excelがopenpyxlで対応するオブジェクト
ワークブック(workbook):Excelスプレッドシートドキュメント;ワークシート(sheet):各ワークブックには、sheet 1、sheet 2など、複数のテーブルが含まれます.アクティブテーブル(active sheet):ユーザーが現在表示しているテーブル;列(column):列アドレスはAから始まる.行(row):行アドレスは1から始まります.セル(cell):特定の行と列の四角形;
Openpyxlの基礎操作(一歩一歩操作することをお勧めしますよ、後ろに完全なコードがありますが)
ガイドパック
Excel:1を読み込みます.既存のワークシートを開き、workbookオブジェクトを取得
2.workbookの基本プロパティ
3.sheetオブジェクトの取得
4.sheetの基本属性
5.cellオブジェクトの取得
6.cellの基本プロパティ
7.様々な方法でcellにアクセス
二、Excelに書き込む:
1.新しいexcelファイルを作成します.もちろん、現在のファイルで変更することもできます.
2.新しいsheetの作成
3.データの挿入
4.保存(必ず保存!!)
三・その他1.sheetのコピーの作成
2.cellの背景色を設定する(RRGGBB)
四.練習は練習による.xlsx'ファイルsheet 2のH列をグループ化し、値が1の行を新規作成したsheetに、値が2の行を新規ファイルに埋め込みます.
五.プレゼンテーションの完全性
テスト環境:
Python 3.7 openpyxl 3.0.5 Windows 10プロフェッショナル版(CPU:i 5-8500 RAM:16 GB)
使用したPythonパッケージ:
1.OS(内蔵、インストール不要)2.random(内蔵、インストール不要)3.Openpyxlインストール:
pip3 install openpyxl==3.0.5
実行コード
# 1. 'excel_oparetion.rar'
# 2.
python3 excel_base_op.py
Excelがopenpyxlで対応するオブジェクト
ワークブック(workbook):Excelスプレッドシートドキュメント;ワークシート(sheet):各ワークブックには、sheet 1、sheet 2など、複数のテーブルが含まれます.アクティブテーブル(active sheet):ユーザーが現在表示しているテーブル;列(column):列アドレスはAから始まる.行(row):行アドレスは1から始まります.セル(cell):特定の行と列の四角形;
Openpyxlの基礎操作(一歩一歩操作することをお勧めしますよ、後ろに完全なコードがありますが)
ガイドパック
import random
import openpyxl
Excel:1を読み込みます.既存のワークシートを開き、workbookオブジェクトを取得
file_name = " .xlsx"
wb = openpyxl.load_workbook(file_name)
2.workbookの基本プロパティ
# sheet ,
sheet_name_lis = wb.sheetnames
print(" %s, sheet :%s" % (file_name, sheet_name_lis))
# .xlsx, sheet :['Sheet1', 'Sheet2']
3.sheetオブジェクトの取得
sheet_name_1 = wb.sheetnames[0]
sheet_1 = wb[sheet_name_1]
4.sheetの基本属性
print("%s :%s, :%s" % (sheet_1.title,sheet_1.max_column, sheet_1.max_row))
# Sheet1 :5, :10
5.cellオブジェクトの取得
cell_1_2 = sheet_1.cell(1, 2)
6.cellの基本プロパティ
print(" %s, :%s, :%s, %s" % (
cell_1_2.coordinate, cell_1_2.value, cell_1_2.row, cell_1_2.column
))
# B1, : B1, :1, 2
7.様々な方法でcellにアクセス
# 1.
#
col_b = sheet_1['B']
print(" %s B :%s" % (sheet_1.title, [cel.value for cel in col_b]))
# Sheet1 B :[' B1', ' B2', ' B3', ' B4', ' B5', ' B6', ' B7', ' B8', ' B9', ' B10']
#
# col_range = sheet_1['C:D']
# 2.
#
row_3 = sheet_1[3]
print(" %s 3 :%s" % (sheet_1.title, [r.value for r in row_3]))
# Sheet1 3 :[' A3', ' B3', ' C3', ' D3', ' E3']
#
# row_range = sheet_1[2:5]
二、Excelに書き込む:
1.新しいexcelファイルを作成します.もちろん、現在のファイルで変更することもできます.
# Workbook
new_wb = openpyxl.Workbook()
2.新しいsheetの作成
# sheet,
new_sheet_1 = new_wb.active
# sheet, “sheet”
new_sheet_1.title = " sheet"
# sheet
# new_sheet_1 = new_wb.create_sheet(" title", 0)
3.データの挿入
# 1. ,
new_sheet_1['A2'] = " "
new_sheet_1.cell(row=2, column=2).value = " "
new_sheet_1.cell(row=2, column=3, value=" ")
# 2.
# sheet ( ) list,tuple,dict,range,generator 。
# 1, list, list 。
# 2, dict, 。
new_sheet_1.append([0, 1, 2, 3])
new_sheet_1.append({"A": "This is A", "C": "This is C"})
new_sheet_1.append({1: "This is A", 3: "This is C"})
#
col_c = new_sheet_1['C']
for cel in col_c:
cel.value = random.randint(1, 50)
col_range = new_sheet_1['C:D']
for _cel in col_range:
for c in _cel:
c.value = random.randint(1, 50)
#
# row_10 = new_sheet_1[10]
# row_range = new_sheet_1[2:9]
4.保存(必ず保存!!)
new_wb.save(" .xlsx")
# , ,
# PermissionError: [Errno 13] Permission denied: ' .xlsx'
三・その他1.sheetのコピーの作成
copy_sheet = new_wb.copy_worksheet()
2.cellの背景色を設定する(RRGGBB)
from openpyxl.styles import PatternFill
#
green_fill = PatternFill(fgColor="AACF91", fill_type="solid")
orange_fill = PatternFill(fgColor="FFC125", fill_type="solid")
#
new_sheet_1.cell(2, 2).fill = green_fill
new_sheet_1.cell(2, 3).fill = orange_fill
new_wb.save(" .xlsx")
四.練習は練習による.xlsx'ファイルsheet 2のH列をグループ化し、値が1の行を新規作成したsheetに、値が2の行を新規ファイルに埋め込みます.
五.プレゼンテーションの完全性
import random
import openpyxl
from openpyxl.styles import PatternFill
file_name = " .xlsx"
wb = openpyxl.load_workbook(file_name)
# sheet ,
sheet_name_lis = wb.sheetnames
print(" %s, sheet :%s" % (file_name, sheet_name_lis))
# .xlsx, sheet :['Sheet1', 'Sheet2']
sheet_name_1 = wb.sheetnames[0]
sheet_1 = wb[sheet_name_1]
print("%s :%s, :%s" % (sheet_1.title, sheet_1.max_column, sheet_1.max_row))
# Sheet1 :5, :10
cell_1_2 = sheet_1.cell(1, 2)
print(" %s, :%s, :%s, %s" % (
cell_1_2.coordinate, cell_1_2.value, cell_1_2.row, cell_1_2.column
))
# B1, : B1, :1, 2
# 1.
#
col_b = sheet_1['B']
print(" %s B :%s" % (sheet_1.title, [cel.value for cel in col_b]))
# Sheet1 B :[' B1', ' B2', ' B3', ' B4', ' B5', ' B6', ' B7', ' B8', ' B9', ' B10']
#
# col_range = sheet_1['C:D']
# 2.
#
row_3 = sheet_1[3]
print(" %s 3 :%s" % (sheet_1.title, [r.value for r in row_3]))
# Sheet1 3 :[' A3', ' B3', ' C3', ' D3', ' E3']
#
# row_range = sheet_1[2:5]
# Workbook
new_wb = openpyxl.Workbook()
# sheet,
new_sheet_1 = new_wb.active
# sheet, “sheet”
new_sheet_1.title = " sheet"
# sheet
# new_sheet_1 = new_wb.create_sheet(" title", 0)
# 1. ,
new_sheet_1['A2'] = " "
new_sheet_1.cell(row=2, column=2).value = " "
new_sheet_1.cell(row=2, column=3, value=" ")
# 2.
# sheet ( ) list,tuple,dict,range,generator 。
# 1, list, list 。
# 2, dict, 。
new_sheet_1.append([0, 1, 2, 3])
new_sheet_1.append({"A": "This is A", "C": "This is C"})
new_sheet_1.append({1: "This is A", 3: "This is C"})
#
col_c = new_sheet_1['C']
for cel in col_c:
cel.value = random.randint(1, 50)
col_range = new_sheet_1['C:D']
for _cel in col_range:
for c in _cel:
c.value = random.randint(1, 50)
#
#
# row_10 = new_sheet_1[10]
#
# row_range = new_sheet_1[2:9]
new_wb.save(" .xlsx")
# , ,
# PermissionError: [Errno 13] Permission denied: ' .xlsx'
#
green_fill = PatternFill(fgColor="AACF91", fill_type="solid")
orange_fill = PatternFill(fgColor="FFC125", fill_type="solid")
#
new_sheet_1.cell(2, 2).fill = green_fill
new_sheet_1.cell(2, 3).fill = orange_fill
new_wb.save(" .xlsx")