GO-AHEADの日記

GO-AHEADで出版した書籍の紹介をします

PythonでExcelプログラミング入門-14

PythonExcelプログラミング入門

amazon kindleを出版しました。


4.3 配列を使ったプログラム-3

 数値計算のライブラリnumpyをインストールします。
 コマンドプロンプトを開いて、
pip install numpy
 と入力して、リターンキーを押します。そうすると、numpyが使えるようになりました。

f:id:GO-AHEAD:20201122133858p:plain

乱数をつかって1~100までの数値を10個発生させて、配列x()に入れて大きいものから順番に並べます。(ソートします)

 

import openpyxl
# numpyのクラスを、mathpyを使うと宣言します。
import numpy as mathpy

Ex_book1=openpyxl.load_workbook('G:\excel\Book1.xlsx')

Ex_book1_ws1=Ex_book1["Sheet1"]

x=[]#xを配列として使う

for i in range(1,11):
x.append(int(mathpy.random.rand()*100)) #xに乱数を代入します
print(x[i-1])
Ex_book1_ws1.cell(i,1).value=x[i-1]


for i in range(0,10):
for j in range(i,10):
if x[j]>x[i]:
tmp=x[j]
x[j]=x[i]
x[i]=tmp

for i in range(0,10):
Ex_book1_ws1.cell(i+1,2).value=x[i]

#ファイルを保存します。
Ex_book1.save('G:\excel\Book1.xlsx')

計算結果は次のようになります。

 

f:id:GO-AHEAD:20201122134015p:plain


プログラムは、
はじめに
 x[0]のところに最大値を移動します。
次に
 x[0]が最大になったので
 x[1]のところにx[1]:2から10までの最大値を移動します。
・・・
これを順に行うと、大きい順に並びます。