PythonでExcelプログラミング入門-15
PythonでExcelプログラミング入門
amazon kindle版を出版しました。
4.3 配列を使ったプログラム-3 続き
numpyのライブラリにもソート関数があります。
この関数を用いると、同様にソートができます。
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を配列として使う
so_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
so_x=mathpy.sort(x)[::-1]#[::-1]を除くと昇順に並ぶ
for i in range(0,10):
Ex_book1_ws1.cell(i+1,2).value=x[i]
Ex_book1_ws1.cell(i+1,3).value=so_x[i]
#ファイルを保存します。
Ex_book1.save('G:\excel\Book1.xlsx')
win32comでのプログラム(参考)
import win32com.client
# numpyのクラスを、mathpyを使うと宣言します。
import numpy as mathpy
book1_ap = win32com.client.Dispatch('Excel.Application')
book1_ap.Visible = 1
Wb1=book1_ap.Workbooks.Open(Filename='G:\excel\Book1.xlsx')
Sh1= Wb1.Worksheets("Sheet1")
x=[]#xを配列として使う
for i in range(1,11):
x.append(int(mathpy.random.rand()*100)) #xに乱数を代入します
print(x[i-1])
Sh1.Cells(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):
Sh1.Cells(i+1,2).Value=x[i]
#ファイルを保存します。
Wb1.SaveAs('G:\excel\Book1.xlsx')
Wb1.Close
#終了します。
book1_ap.Quit()