PythonでExcelプログラミング入門-14
PythonでExcelプログラミング入門
amazon kindle版を出版しました。
4.3 配列を使ったプログラム-3
数値計算のライブラリnumpyをインストールします。
コマンドプロンプトを開いて、
pip install numpy
と入力して、リターンキーを押します。そうすると、numpyが使えるようになりました。
乱数をつかって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')
計算結果は次のようになります。
プログラムは、
はじめに
x[0]のところに最大値を移動します。
次に
x[0]が最大になったので
x[1]のところにx[1]:2から10までの最大値を移動します。
・・・
これを順に行うと、大きい順に並びます。