前提・実現したいこと
特定の数値だけでなく、列に含まれる数値全てを対象に小数点の桁を揃えたいです。
やりたいこと全体としては、csvファイルを読み込み、
列ごとに値を取得して、一列に書かれているものを一行に書き出したいです。(縦横を入れ替えます)
形式を変える過程で、小数点の桁も揃えたいのですが、それがうまくいっていません。
発生している問題
小数点以下第2位に揃えたつもりが、printすると
(78.71225528, '2f') (79.18972624, '2f') (79.23910929, '2f') (78.03111468, '2f')
となります。
該当のソースコード
python
1import csv 2import os 3import numpy as np 4 5path = 'path_a' 6filelist = [] 7# os.makedirs(path + "/" + "縦横入替後") 8path2 = path + "/" + "縦横入替後" 9 10for c in os.listdir(path): 11 if os.path.isfile(os.path.join(path, c)): 12 filelist.append(c) 13 14temp = [] 15for f in filelist: 16 reader = csv.reader((open(path + "/" + f, "r", encoding="utf_8")), delimiter=',') 17 for row in reader: 18 temp.append(row) 19 20all = np.array(temp) 21float_t = all[:, 0] 22 23temp2 =[] 24for i in float_t: 25 temp2 = format((float(i), '2f')) 26 print(temp2) 27 28 29with open(path2 + "/" + f + "_after_replace.csv","w",newline="") as table: #縦横を入れ替えたものを書き出します 30 writer = csv.writer(table, delimiter=',') 31 writer.writerow(temp2) 32 33
試したこと
'2f'が文字列として認識されているのかなと思ったのですが、どうすればよいのかわかっていません。また、下記でもやってみたのですが、うまくいきませんでした。
cumulative_r = '{:.2f}'.format(cumulative)
教えていただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/09 11:06