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オブジェクトを返します。
ワークブックオブジェクトからシートを取得します。

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")
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。