記事一覧
python openpyxl Excel列データの調査
excelファイルのある列のデータを1つづつ条件に当て嵌め、その判定を得る
例えば、調査する列を「A」とする場合、その列を変数columnに代入し、
調査する列の最終行を取得する為に、ワークシートオブジェクトからmax_rowプロパティを呼出し最大行数を取得し、変数row_maxに代入する。
for文で調査したい列の指定行から順にセルのデータを受取り、
条件文で判定を得て、何かしらの動作を行う。
Python openpyxl Excel操作 ウィンドウ枠の固定設定
ウィンドウ枠の固定を設定するには、freeze_panesオブジェクトを生成し、ウィンドウ枠を固定するセル番地を代入する。
ws.freeze_panes = "セル番地"
Excelでのウィンドウ枠の固定設定と同じように、
A列のセル番地を指定するとその行までを固定、
A列以外の1行目のセル番地を指定するとその列までを固定、
A列以外の2行目以降のセル番地を指定するとその列行までを固定する。
「
Python openpyxl Excel操作 表示形式の設定
文字の表示形式を設定するには、number_formatオブジェクトを生成し、表示したい形式を代入する。
cell.number_format= "表示形式"
表示形式は主に
yyyy年m月d日 ・・・○年○月○日表示
yy/m/d ・・・○○/○/○表示(年月日)
0.00 ・・・ 小数点以下2桁まで表示
#,##0 ・・・ 3桁カンマ区切り表示
0.0% ・・・ 小数点以下1桁までパーセント表
Python openpyxl Excel操作 列幅の設定
列の幅を設定をするcolumn_dimensionsのwidth属性。
ws.column_dimensions["列名"].width = 数値
import openpyxlwb = openpyxl.load_workbook("excel.xlsx")ws = wb["excelシート名"]# エクセルシートのA列の幅を変更する。ws.column_dimensions["A"].wid
Python openpyxl Excel操作 行の高さ設定
行の高さを設定をするrow_dimensionsのheight属性。
ws.row_dimensions["行番号"].height = 設定する高さの数値
行の高さの値は指定数値通りに設定される。
例「30」に指定すると、Excelでは「30.0(50ピクセル)」になる。
import openpyxlwb = openpyxl.load_workbook("excel.xlsx")ws =
Python openpyxl Excel操作 セルの結合
Excelシートのセルを結合する、merge_cellsメソッド。
ws.merge_cells(start_row=1, end_row=2, start_column=1, end_column=2)
ワークシートオブジェクトからmerge_cellsメソッドを呼出し、
各引数に結合するセルの開始から終了を数値で指定する。
引数start_rowに開始行番号、
引数end_rowに終了行番号
Python openpyxl Excel操作 文字の配置設定
セル内の文字の配置を設定するには、Alignmentオブジェクトを生成し、セルのalignment属性に設定する。
モジュール「openpyxl.styles」から「Alignment」をインポートする。
Alignmentの引数に設定したい項目を入力し、オブジェクトを作成する。
作成したAlignmentオブジェクト(new_alignment)を、セルのalignment属性(cell.ali
Python openpyxl excel操作 セルの背景色設定
セル背景色の塗りつぶしの設定をするには、PatternFillオブジェクトを生成し、セルのfill属性に設定する。
モジュール「openpyxl.styles」から「PatternFill」をインポートする。
PatternFillの引数に設定したい項目を入力し、オブジェクトを作成する。
作成したPatternFillオブジェクト(new_fill)を、セルのfill属性(cell.fill)に代
Python openpyxl Excel操作 罫線の設定
罫線の設定をするには、Borderオブジェクトを、セルのborder属性に設定します。
import openpyxlfrom openpyxl.styles import Border, Sidewb = openpyxl.load_workbook("excel.xlsx")ws = wb["excelシート名"]new_thin = Side(color='000000', border_
Python openpyxl Excel操作 フォントの設定
フォントの設定をするには、Fontオブジェクトを生成し、セルのフォント属性に設定する。
import openpyxlfrom openpyxl.styles import Fontwb = openpyxl.load_workbook("excel.xlsx")ws = wb["excelシート名"]new_font = Font(name='游ゴシック', color='000000', s
python pandas 指定文字を含む行を削除する
データフレームの中で指定列にある指定文字を含む行の削除を行う。
まず、指定列に指定文字があるかbool(True or False)で取得する。
judge = df[ "カラム名" ].str.contains( "指定する文字" )
次にdropメソッドで削除を行う。
df.drop( df[ judge ].index, inplace=True )
「df[ judge ].index」は
python pandas groupby グループ集計
各カラムで同じ要素の、数値を操作するgroupbyメソッド。
データフレームからgroupbyを呼出す。
groupbyメソッドの第一引数( by )にまとめる要素とするカラム名を設定し、任意の関数を付ける。
df.groupby( by=[ "カラム名" ] ).sum( )
*設定しなかったカラムは消去される
例(下表)として産地と品名が同じ場合、販売個数を足算する場合
df = df[[
python pandas crosstab クロス集計
2つ以上の項目を交差させて集計する手法クロス集計を行う crosstab関数。
同じ値をカウントします、数値を足し算するわけではありません。
引数indexに基準の縦軸となるseriesを設定、引数columnsにクロス集計するseriesを設定する。
pandas.crosstab( index=df["カラム名"] , columns=df["カラム名"] )
例(下表)として産地を基準にデ
python pandas value_conuts 出現回数を求める
同一カラム内にある、文字や数値の出現回数の合計値または確率を求める
value_conutsメソッド。
データフレームのseriesからvalue_conutsメソッドを呼出し、オプション引数を設定する。
オプション引数:normalize
出現回数の確率を求める場合は「True」にする。
オプション引数:sort
デフォルト「True」では出現回数が多い順になる。
「False」にすると並び順は
pandas 最大値、最小値の要素を取得する方法
データフレームの、ある列における最大値・最小値となる要素を取得するには、最大値の場合はidxmaxメソッドを使用、最小値の場合はidxminメソッドを使用し、最大値・最小値のindex番号を取得。その取得したindex番号を使用しlocプロパティで要素を取得する。
max_index = df[ "値段" ].idxmax
数値の最大値を求めるseries(値段の列)からidxmaxメソッドを呼
pandasでexcel数式のままデータを扱う方法
pandasでexcelを読込むread_excel関数では数式は結果を読込む。
pandasを使い、excelファイル内のデータをフィルタリングし、excelに戻す場合、数式のまま戻したい。
そのような場合は、始めにopenpyxlのload_workbook関数でオプション引数data_only=Falseを使いデータを読込み、pandasのデータフレームへ移す。
import pandas