新光人壽美添109建議書如下
若想了解IRR 5%的香港保單或其他台灣保單
複委託優惠或YTM超過6%的債券
請在此表單留下聯絡資料:
若您願意贊助我:
機構代號(391,一卡通),帳號:1501823311
FB粉絲團: 儲蓄保險王,
Line@: @wvr5039s,
Line社群: https://lihi1.com/MaSdv/blog
twitter: https://twitter.com/SavingKing925
以下的cashFlow.txt
副檔名.csv亦可,
內容就是逗點分隔檔
每列現金流狀況與建議書一致

程式碼:
import csv
import numpy_financial as npf
import numpy as np
base = 0.01 # 基準利率1%,隨便key的,不用認真
year_IRR = [(“Year”, “IRR”, “絕對利差”, “相對利差”)]
with open(r”C:\Python\example\csvreader\cashFlow.txt”, “r”) as f:
csvreader = csv.reader(f)
csvlst = [r for r in csvreader]
# print(csvlst) #2D list,且都為字串,非數字
# 以下雙層for迴圈,把字串都轉成數字
for r in range(len(csvlst)):
for c in range(len(csvlst[r])):
csvlst[r][c] = eval(csvlst[r][c])
for r in csvlst:
print(f”{r.index(r[-1])}年現金流:\n”, r)
# 看起來沒問題,元素都是數字
for row in csvlst:
csvAry = np.array(row)
myirr = round(npf.irr(csvAry), 4)
# round函數本身的問題,有的資料取小數點下4位失敗
rateDiff = myirr – base # 絕對利差
rateDiffRel = rateDiff/base # 相對利差
year = row.index(csvAry[-1])
yearStr = “%02d” % year
myirrStr = “%.2f %%” % (myirr*100)
rateDiffStr = “%.2f %%” % (rateDiff*100)
rateDiffRelStr = “%.2f %%” % (rateDiffRel*100)
tup = (yearStr, myirrStr, rateDiffStr, rateDiffRelStr)
year_IRR.append(tup)
for ele in year_IRR:
print(ele)
with open(r”C:\Python\example\csvreader\IRR_Calculate.csv”, “w”) as f2:
csv.writer(f2).writerows(year_IRR)
print(“資料已寫入IRR_Calculate.csv”)


輸出結果:


寫出的csv檔:





![Python: 如何將folder_name, file_name合併為file_path? fpath = os.path .join(folder, fname) ; “\\”.join([folder, fname]) ; 如何將file_path拆分出folder? Python: 如何將folder_name, file_name合併為file_path? fpath = os.path .join(folder, fname) ; “\\”.join([folder, fname]) ; 如何將file_path拆分出folder?](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2023/03/20230330132954_84.png?quality=90&zoom=2&ssl=1&resize=350%2C233)



![Python: pandas.DataFrame()處理雙維度資料,dict跟2D list轉為DataFrame有何差別?如何用index及columns屬性客製化index跟欄位名稱?df.index = [“一”,”二”,”三”,”四”] ; df.columns = 使用.head(n) ; .tail(m) ;取首n列,尾m列; .at[index,欄位名稱] 取單一資料 ; .iat[index,欄位順序] 取單一資料 ; .loc[index,欄位名稱] 取資料 ; .iloc[index,欄位順序];df.iloc[ [0,1],[0,2]])取資料 ; df.iloc[ 0:3,0:2]切片 Python: pandas.DataFrame()處理雙維度資料,dict跟2D list轉為DataFrame有何差別?如何用index及columns屬性客製化index跟欄位名稱?df.index = [“一”,”二”,”三”,”四”] ; df.columns = 使用.head(n) ; .tail(m) ;取首n列,尾m列; .at[index,欄位名稱] 取單一資料 ; .iat[index,欄位順序] 取單一資料 ; .loc[index,欄位名稱] 取資料 ; .iloc[index,欄位順序];df.iloc[ [0,1],[0,2]])取資料 ; df.iloc[ 0:3,0:2]切片](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2022/11/20221111093547_79.png?quality=90&zoom=2&ssl=1&resize=350%2C233)


近期留言