Pythonはエクセルの内容と関連する操作コードの例を取得します。
Pythonはopenyxlを持っていません。インストールが必要です。pip install openyxl
excel文書を開く:openyxl.load_workbook(excelアドレス)-既存のエクセルファイルを開く
openyxl.Workbook()-excelファイルを新規作成します。
ワークボルトのオブジェクトを返します。
import openpyxl
wb=openpyxl.load_workbook(「test.xlsx」)
print(type(wb)璝
openpyxl.load_workbook()関数は、存在するexcelファイル名/excelファイル名+ファイルパスを伝え、workbookオブジェクトを返します。
ワークブックオブジェクトからシートを取得します。
表の対象.セル(行番号、列番号)
表計算ドキュメントの行、列、または長方形の範囲のすべてのCellオブジェクトをとります。
テーブルオブジェクト[位置1:位置2]指定範囲内のすべてのセルを取得します。
openpyxl.Workbook()-空のExcelファイルを作成するのに対応するワークシートオブジェクト
薄いオブジェクトを作業します。save(ファイルパス)-ファイルを保存します。
薄い仕事の相手。クリアーsheet(title,index)-指定されたシートの指定位置(デフォルトでは最後)に指定された名前のテーブルを作成し、テーブルオブジェクトに戻ります。
シートオブジェクト.remove(テーブルオブジェクト)-シート内の指定テーブルを削除します。
表でデータを表示する場合は、異なるデータを別のスタイルで展示してパーティションや強調の役割を果たす必要があります。
excel文書を開く:openyxl.load_workbook(excelアドレス)-既存のエクセルファイルを開く
openyxl.Workbook()-excelファイルを新規作成します。
ワークボルトのオブジェクトを返します。
import openpyxl
wb=openpyxl.load_workbook(「test.xlsx」)
print(type(wb)璝
openpyxl.load_workbook()関数は、存在するexcelファイル名/excelファイル名+ファイルパスを伝え、workbookオブジェクトを返します。
ワークブックオブジェクトからシートを取得します。
import openpyxl
wb = openpyxl.load_workbook("test.xlsx")
# print(type(wb)) # <class 'openpyxl.workbook.workbook.Workbook'>
# .sheetnames -
# print(wb.sheetnames) ['Sheet1', 'Sheet2', 'Sheet3']
# .active - Worksheet
# print(wb.active) <Worksheet "Sheet1">
# [ ] -
# print(wb["Sheet2"]) <Worksheet "Sheet2">
# .title -
ws = wb["Sheet1"]
# print(ws.title) Sheet1
# .max_row -
# print(ws.max_row) 15
# .max_column -
print(ws.max_column) # 3
表からセルを取得する
import openpyxl
wb = openpyxl.load_workbook("test.xlsx")
ws = wb["Sheet1"]
# [' '] - ( Cell , A , 1 )
a = ws["A1"]
# print(a) # <Cell 'Sheet1'.A1>
# .value -
print(a.value)
# .row - ( 1 )
print(a.row)
# .column - ( 1 )
print(a.column)
# .coordinate - ( )
print(a.coordinate)
# .iter_rows() -
row_s = ws.iter_rows()
for a in row_s:
for i in a:
print(i.value)
# .iter_cols() -
col_s = ws.iter_cols()
for c in col_s:
for j in c:
print(j.value)
アルファベットで列を指定すると、列Zが現れてから2文字で置換します。表のセル()方法を呼び出して、入力整数は行数と列数として、1行目または1列目の整数は1で、0ではありません。表の対象.セル(行番号、列番号)
import openpyxl
wb = openpyxl.load_workbook("test.xlsx")
ws = wb["Sheet1"]
#
max_row = ws.max_row
for row in range(1, max_row + 1):
cell = ws.cell(row, 2)
print(cell.value)
表から列と行を取る表計算ドキュメントの行、列、または長方形の範囲のすべてのCellオブジェクトをとります。
テーブルオブジェクト[位置1:位置2]指定範囲内のすべてのセルを取得します。
import openpyxl
from openpyxl.utils import get_column_letter, column_index_from_string
wb = openpyxl.load_workbook("test.xlsx")
ws = wb["Sheet1"]
max_row = ws.max_row
column = get_column_letter(max_row)
#
row2 = ws["A1":f"{column}1"]
ss = [(cell.coordinate, cell.value) for cells in row2 for cell in cells]
print(ss)
import openpyxl
from openpyxl.utils import get_column_letter, column_index_from_string
wb = openpyxl.load_workbook("test.xlsx")
ws = wb["Sheet1"]
max_cols = ws.max_column
column = get_column_letter(max_cols)
#
row2 = ws["A1":f"{column}3"]
ss = [(cell.coordinate, cell.value) for cells in row2 for cell in cells]
print(ss)
Excelドキュメントを作成して保存します。openpyxl.Workbook()-空のExcelファイルを作成するのに対応するワークシートオブジェクト
薄いオブジェクトを作業します。save(ファイルパス)-ファイルを保存します。
import openpyxl
wb = openpyxl.load_workbook("test.xlsx")
ws = wb["Sheet1"]
# sheet
ws.title = "hello_world"
wb.save("test.xlsx")
sheetの作成と削除薄い仕事の相手。クリアーsheet(title,index)-指定されたシートの指定位置(デフォルトでは最後)に指定された名前のテーブルを作成し、テーブルオブジェクトに戻ります。
シートオブジェクト.remove(テーブルオブジェクト)-シート内の指定テーブルを削除します。
import openpyxl
wb = openpyxl.load_workbook("test.xlsx")
wb.create_sheet()
print(wb.sheetnames)
wb.create_sheet("test1")
print(wb.sheetnames)
wb.create_sheet("test2", index=0)
print(wb.sheetnames)
wb.remove(wb["test2"])
print(wb.sheetnames)
wb.save("test.xlsx")
テーブルにデータを書き込む
import openpyxl
wb = openpyxl.load_workbook("test.xlsx")
ws = wb["hello_world"]
#
ws["A4"] = "hello_world"
#
ws.cell(4, 5).value = "hello_test"
wb.save("test.xlsx")
セルのスタイルを設定表でデータを表示する場合は、異なるデータを別のスタイルで展示してパーティションや強調の役割を果たす必要があります。
import openpyxl
from openpyxl.styles import Font, PatternFill, Border, Side, Alignment
# 1.
wb = openpyxl.load_workbook("test.xlsx")
ws = wb["hello_world"]
# 2.
"""
Font(
name=None, # ,
strike=None, # ,True/False
color=None, #
size=None, #
bold=None, # , True/False
italic=None, # ,Tue/False
underline=None # , 'singleAccounting', 'double', 'single', 'doubleAccounting'
)
"""
# 1:
font1 = Font(
size=20,
italic=True,
color="ff0000",
bold=True,
strike=True
)
# 2:
# .font =
ws["B2"].font = font1
# 3:
"""
PatternFill(
fill_type=None, # : 'darkGrid', 'darkTrellis', 'darkHorizontal', 'darkGray', 'lightDown', 'lightGray', 'solid', 'lightGrid', 'gray125', 'lightHorizontal', 'lightTrellis', 'darkDown', 'mediumGray', 'gray0625', 'darkUp', 'darkVertical', 'lightVertical', 'lightUp'
start_color=None #
)
"""
fill = PatternFill(
fill_type="solid",
start_color="ffff00"
)
ws["B2"].fill = fill
#
al = Alignment(
horizontal="right", # : center :left : right
vertical="top" # : center, top, bottom
)
ws["B2"].alignment = al
#
# ( , Side )
side = Side(border_style="thin", color="0000ff")
# (left、right、top、bottom , )
db = Border(left=side, right=side, top=side, bottom=side)
ws["B2"].border = db
#
#
ws.column_dimensions["A"].width = 20
#
ws.row_dimensions[1].height = 45
wb.save("test.xlsx")
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。