2021-09-01から1ヶ月間の記事一覧

Pythonのopenpyxlを使ってExcelファイルの印刷設定をする

印刷範囲を「A1:V22」にする 印刷の向きを横にする 縦1ページ、横1ページに印刷する import openpyxl #エクセルファイルを開く filename = 'test.xlsx' wb = openpyxl.load_workbook(filename=filename) #選択されているシートを処理対象にする ws = wb.ac…

openpyxl 1列おきにセルの背景色を設定する(塗りつぶす)

1, 3, 5, 7, 9列の10行目までを灰色に塗りつぶす import openpyxl from openpyxl.styles import PatternFill filename = 'test.xlsx' wb = openpyxl.load_workbook(filename=filename) ws = wb.active for column in range(1, 10, 2): for row in range(1, 1…

openpyxl セルの書式設定で縦書きにする

A1セルを縦書きにする import openpyxl from openpyxl.styles.alignment import Alignment filename = 'test.xlsx' wb = openpyxl.load_workbook(filename=filename) ws = wb.active ws['A1'].alignment = Alignment(textRotation = 255) wb.save(filename) …

openpyxl 罫線を書く

あるセルにどのような罫線の設定がされているかを 下記のプログラムで確認できる。 「test.xlsx」の「A1」セルの罫線の設定を表示する import openpyxl wb = openpyxl.load_workbook('test.xlsx') ws = wb.active print(ws['A1'].border) 何も設定していない…

openpyxl セルに値を入れる

A1セルに1を入れる import openpyxl wb = openpyxl.Workbook() ws = wb.active ws['A1'] = 1 wb.save('test.xlsx') 2行1列(A2)セルに2を入れる import openpyxl wb = openpyxl.Workbook() ws = wb.active ws.cell(2, 1).value = 2 wb.save('test.xlsx') セル…

PythonのpandasのDataFrameの初期化 データは空でindexとcolumnsだけ設定する

import pandas as pd i = [1, 2, 3] c = ['name', 'address', 'phone'] df = pd.DataFrame(data=None, index=i, columns=c) print(df) 結果 name address phone 1 NaN NaN NaN 2 NaN NaN NaN 3 NaN NaN NaN

Pythonのgeopyで駅の緯度経度のリストから2つの駅の間の距離を求める

import pandas as pd import itertools from geopy.distance import geodesic import math def geocode_to_distance(geocode_list): distance_list = [] for data1, data2 in itertools.combinations(geocode_list, 2): name1, lat1, lng1 = data1 name2, la…

Pythonで小数を任意の位(小数第n位)で切り捨てる

import math #numを小数第digit位まで残して、第digit位より下を切り捨てる def truncate_to_n_decimal(num, digit): return math.floor(num * 10 ** digit) / (10 ** digit) >>> truncate_to_n_decimal(1.234, 1) 1.2 >>> truncate_to_n_decimal(1.234, 2) …

Pythonのopenpyxlを使ってExcelファイルを新規作成する

import openpyxl wb = openpyxl.Workbook() #ファイルの新規作成 wb.active.title = 'test' #シート名変更 wb.save('test.xlsx') #ファイルの保存

Pythonでテキストファイルを開いて改行を削除してカンマで区切る

address.txtの内容 名前と住所がカンマで区切られている 名前1,住所1 名前2,住所2 名前3,住所3f = open('address.txt') for line in f: # 行の末尾の改行を削除して、カンマで区切る name, address = line.rstrip('\n').split(',') print(name) print(…

Python sleep(一定時間プログラムの実行を停止する)

import time for i in range(3): print(i) time.sleep(1) #1秒停止

Wineの文字化けを直す方法

$ sudo apt install winetricks $ winetricks Select the default wineprefix を選択 Install a font を選択 cjkfonts を選択

Haskell入門 フィボナッチ数列を末尾再帰で速くする

参考ページ お気楽 Haskell プログラミング入門 -- fibo.hs -- 普通 fibo :: Integer -> Integer fibo n = if n == 0 || n == 1 then n else fibo (n - 1) + fibo (n - 2) -- 末尾再帰 fibo_tail :: Integer -> Integer fibo_tail n = fibo_sub n 0 1 where …

Haskell入門 1からnまでのp乗の和を求める

sum_of_power :: Integer -> Integer -> Integer sum_of_power n p = sum $ map (^p) [1..n] *Main> sum_of_power 10 1 55 *Main> sum_of_power 10 2 385 *Main> sum_of_power 100 2 338350 *Main> sum_of_power 100 3 25502500

Haskell入門(挿入ソート)

参考ページ お気楽 Haskell プログラミング入門挿入ソート 並べ替えられているリストに、 並べ替えられていない要素を適切な位置に挿入する操作を繰り返す。例 [2, 1, 4, 3]をソートする 右から畳み込む [] [3] [3, 4] [1, 3, 4] [1, 2, 3, 4] insert_elemen…