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 讀取 DOCX 圖片關聯:qn+find/findall 與 XPath 的實戰對照 from lxml import etree ; from docx.oxml.ns import qn; lxml.etree._Element.findall( f”.//{ qn(‘a:blip’) }” ) ; .get( qn(“r:embed”) ) #獲取 屬性名 ‘r:embed’ 的 屬性值(如: ‘rId4’) ; lxml.etree._Element.xpath( “//a:blip/@r:embed”, namespaces = NS) #/@r:embed = 獲取 屬性名 ‘r:embed’ 的 屬性值(如: ‘rId4’),使用.findall() 要先.findall()獲取List[_Element],再迴圈_Element.get()獲取屬性值, .xpath() 第一個參數path 使用”//a:blip/@r:embed” ,可直接獲取屬性值(List[str]如: [‘rId4’, ‘rId5’]) ; 如何對docx真實移除圖片瘦身? Python 讀取 DOCX 圖片關聯:qn+find/findall 與 XPath 的實戰對照 from lxml import etree ; from docx.oxml.ns import qn; lxml.etree._Element.findall( f”.//{ qn(‘a:blip’) }” ) ; .get( qn(“r:embed”) ) #獲取 屬性名 ‘r:embed’ 的 屬性值(如: ‘rId4’) ; lxml.etree._Element.xpath( “//a:blip/@r:embed”, namespaces = NS) #/@r:embed = 獲取 屬性名 ‘r:embed’ 的 屬性值(如: ‘rId4’),使用.findall() 要先.findall()獲取List[_Element],再迴圈_Element.get()獲取屬性值, .xpath() 第一個參數path 使用”//a:blip/@r:embed” ,可直接獲取屬性值(List[str]如: [‘rId4’, ‘rId5’]) ; 如何對docx真實移除圖片瘦身?](https://i1.wp.com/savingking.com.tw/wp-content/uploads/2025/11/20251119130848_0_3fbf6b.png?quality=90&zoom=2&ssl=1&resize=350%2C233)

近期留言