pandas.read_csv(r”路徑\檔名.副檔名”) vs
csv.reader(io.TextIOWrapper) 有何差別?
myDataFrame = pandas.read_csv()
無法讀取每列長度不同的資料
每列代表不同年期現金流
長度不一樣實屬正常
Libre Office自動補逗點跟空值
反而會造成numpy_financial.irr()
運算錯誤
除非使用Libre,
若用記事本編輯逗點分隔檔
使用者也不會補逗點跟空值
csv.reader()在計算IRR的時候
較為好用
本篇只為特意用pandas處理
import pandas as pd
f1 = r”C:\Python\example\csvreader\skl_cashFlow.txt”
#f1每列長度不一樣
f2 = r”C:\Python\example\csvreader\skl_cashFlow.csv”
#f2每列長度一樣
df2 = pd.read_csv(f2) ;
#配合read_csv(),檔案還要加上11個欄標籤0~10,
#不然會將第一列資料當成欄標籤
#header=None可以讀取無欄標籤的csv檔
print(“DataFrame:\n”, df2,”\n”,type(df2),”\n”,”=”*30 )
# df1_Fail = pd.read_csv(f1) #將讀取失敗
#對DataFrame取值:
print(“.loc[]取值],取得Series物件\n”,\
df2.loc[0],”\n”,type( df2.loc[0] ),”\n”,”=”*30)
print(“將Series物件轉為list:\n”, list(df2.loc[0]) )
![Python如何讀寫csv逗點分隔檔(每列內容為新光增有利現金流)?pandas.read_csv(r”路徑檔名.副檔名”),如何移除list中的nan元素?math.isnan(),如何計算新光增有利IRR?numpy_financial(array) ;輸出csv檔時如何去掉index跟header?如何選擇要寫入的直欄columns? dfFinal.to_csv(fpath, index=False, header=None, columns=[0,1]) - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221110122900_3.png)
skl_cashFlow.csv每列內容
輸出的DataFrame:
![Python如何讀寫csv逗點分隔檔(每列內容為新光增有利現金流)?pandas.read_csv(r”路徑檔名.副檔名”),如何移除list中的nan元素?math.isnan(),如何計算新光增有利IRR?numpy_financial(array) ;輸出csv檔時如何去掉index跟header?如何選擇要寫入的直欄columns? dfFinal.to_csv(fpath, index=False, header=None, columns=[0,1]) - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221110123202_91.png)
輸出的Series物件
並將Series轉為list:
![Python如何讀寫csv逗點分隔檔(每列內容為新光增有利現金流)?pandas.read_csv(r”路徑檔名.副檔名”),如何移除list中的nan元素?math.isnan(),如何計算新光增有利IRR?numpy_financial(array) ;輸出csv檔時如何去掉index跟header?如何選擇要寫入的直欄columns? dfFinal.to_csv(fpath, index=False, header=None, columns=[0,1]) - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221110123548_51.png)
可以取得上面的list
去掉nan元素後,
就可以用numpy_financial.irr()
計算內部報酬率
程式碼:
![Python如何讀寫csv逗點分隔檔(每列內容為新光增有利現金流)?pandas.read_csv(r”路徑檔名.副檔名”),如何移除list中的nan元素?math.isnan(),如何計算新光增有利IRR?numpy_financial(array) ;輸出csv檔時如何去掉index跟header?如何選擇要寫入的直欄columns? dfFinal.to_csv(fpath, index=False, header=None, columns=[0,1]) - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221110163053_80.png)
![Python如何讀寫csv逗點分隔檔(每列內容為新光增有利現金流)?pandas.read_csv(r”路徑檔名.副檔名”),如何移除list中的nan元素?math.isnan(),如何計算新光增有利IRR?numpy_financial(array) ;輸出csv檔時如何去掉index跟header?如何選擇要寫入的直欄columns? dfFinal.to_csv(fpath, index=False, header=None, columns=[0,1]) - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221110134749_56.png)
![Python如何讀寫csv逗點分隔檔(每列內容為新光增有利現金流)?pandas.read_csv(r”路徑檔名.副檔名”),如何移除list中的nan元素?math.isnan(),如何計算新光增有利IRR?numpy_financial(array) ;輸出csv檔時如何去掉index跟header?如何選擇要寫入的直欄columns? dfFinal.to_csv(fpath, index=False, header=None, columns=[0,1]) - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221110134832_14.png)
![Python如何讀寫csv逗點分隔檔(每列內容為新光增有利現金流)?pandas.read_csv(r”路徑檔名.副檔名”),如何移除list中的nan元素?math.isnan(),如何計算新光增有利IRR?numpy_financial(array) ;輸出csv檔時如何去掉index跟header?如何選擇要寫入的直欄columns? dfFinal.to_csv(fpath, index=False, header=None, columns=[0,1]) - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221110135821_65.png)
![Python如何讀寫csv逗點分隔檔(每列內容為新光增有利現金流)?pandas.read_csv(r”路徑檔名.副檔名”),如何移除list中的nan元素?math.isnan(),如何計算新光增有利IRR?numpy_financial(array) ;輸出csv檔時如何去掉index跟header?如何選擇要寫入的直欄columns? dfFinal.to_csv(fpath, index=False, header=None, columns=[0,1]) - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221110134955_63.png)
![Python如何讀寫csv逗點分隔檔(每列內容為新光增有利現金流)?pandas.read_csv(r”路徑檔名.副檔名”),如何移除list中的nan元素?math.isnan(),如何計算新光增有利IRR?numpy_financial(array) ;輸出csv檔時如何去掉index跟header?如何選擇要寫入的直欄columns? dfFinal.to_csv(fpath, index=False, header=None, columns=[0,1]) - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221110135245_80.png)
您將輸入n年度末解約金?n=?
待使用者輸入下一筆資料或-9999離開
![Python如何讀寫csv逗點分隔檔(每列內容為新光增有利現金流)?pandas.read_csv(r”路徑檔名.副檔名”),如何移除list中的nan元素?math.isnan(),如何計算新光增有利IRR?numpy_financial(array) ;輸出csv檔時如何去掉index跟header?如何選擇要寫入的直欄columns? dfFinal.to_csv(fpath, index=False, header=None, columns=[0,1]) - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221110170825_48.png)


![Python: 字串 str.find(關鍵字[,start][,end]),找不到的話回傳-1,如何找出資料字串中,所有關鍵字的index?詞頻計算 Python: 字串 str.find(關鍵字[,start][,end]),找不到的話回傳-1,如何找出資料字串中,所有關鍵字的index?詞頻計算](https://i1.wp.com/savingking.com.tw/wp-content/uploads/2022/11/20221122100657_32.png?quality=90&zoom=2&ssl=1&resize=350%2C233)

![一文搞懂Python pandas.DataFrame去重:df.drop_duplicates() 與 df[~df.duplicated()] 的等價、差異與最佳實踐 一文搞懂Python pandas.DataFrame去重:df.drop_duplicates() 與 df[~df.duplicated()] 的等價、差異與最佳實踐](https://i0.wp.com/savingking.com.tw/wp-content/uploads/2025/08/20250808202701_0_66f9bc.png?quality=90&zoom=2&ssl=1&resize=350%2C233)
![Python `typing.NamedTuple` (`collections.namedtuple`) 與 `typing.Literal` 教學 — 用型別「防止錯配」; StripRule = NamedTuple(“StripRule”, [(“regex”, re.Pattern), (“flag”, str)]) vs StripRule = namedtuple(“StripRule”, [“regex”, “flag”]) Python `typing.NamedTuple` (`collections.namedtuple`) 與 `typing.Literal` 教學 — 用型別「防止錯配」; StripRule = NamedTuple(“StripRule”, [(“regex”, re.Pattern), (“flag”, str)]) vs StripRule = namedtuple(“StripRule”, [“regex”, “flag”])](https://i0.wp.com/savingking.com.tw/wp-content/uploads/2026/07/20260702150603_0_86abc2.png?quality=90&zoom=2&ssl=1&resize=350%2C233)




近期留言