先看以下兩個逗點分隔檔:

txt檔為記事本自行寫入
csv檔為Libre Office開啟後再儲存
發現csv檔(Libre)會自動補逗點跟空值
將所有列都捕到長度跟最長列一致
pandas.read_csv() vs
csv.reader()有何差別?

csv.reader()輸出結果:

csv.reader()兩個檔案都能正常讀取
pandas.read_csv()輸出結果:

csv.reader()裡面要放io.TextIOWrapper
前面要用with open(“路徑\檔名.副檔名”, “r”) as f
產生的f即為io.TextIOWrapper
不要在csv.reader()中誤放
“路徑\檔名.副檔名”
會無法讀取檔案內容
將錯誤的csv物件轉為list時
list會如下:
[[‘C’], [‘:’], [‘\\’], [‘P’], [‘y’], [‘t’], [‘h’], [‘o’], [‘n’], [‘\\’], [‘e’], [‘x’], [‘a’], [‘m’], [‘p’], [‘l’], [‘e’], [‘\\’], [‘c’], [‘s’], [‘v’], [‘r’], [‘e’], [‘a’], [‘d’], [‘e’], [‘r’], [‘\\’], [‘s’], [‘k’], [‘l’], [‘_’], [‘c’], [‘a’], [‘s’], [‘h’], [‘F’], [‘l’], [‘o’], [‘w’], [‘.’], [‘t’], [‘x’], [‘t’]]
pandas.read_csv()
裡面放的就確實是”路徑\檔名.副檔名”
前面無需with open() as f : 的語法
無法讀取每列長度不同的逗點分隔檔
出現pandas._libs.parsers.raise_parser_error
ParserError:Error tokenizing data. C error: Expected 8 fields in line 3, saw 9
pandas以直行(欄)為單位
DataFrame又是多個Series共用相同index
造成此問題
每列代表不同年期現金流
長度不一樣實屬正常
Libre Office自動補逗點跟空值
反而會造成numpy_financial.irr()
運算錯誤
最好可以加移除空元素的語法
避免使用者誤用Libre Office
寫逗點分隔檔
您將輸入n年度末解約金?n=?
待使用者輸入下一筆資料或-9999離開
pandas讀取Excel檔(.xlsx)
import pandas as pd
f3 = r”C:\Python\example\csvreader\skl_cashFlowIRR2.xlsx”
df3 = pd.read_excel(f3) ;
print( df3,type(df3) )
#type為DataFrame

推薦hahow線上學習python: https://igrape.net/30afN
![Python-docx 圖片提取完全指南:從 rId 到二進位資料的探險rid ; part = doc.part.rels[rid].target_part #return part.blob if “ImagePart” in type(part).__name__ else None Python-docx 圖片提取完全指南:從 rId 到二進位資料的探險rid ; part = doc.part.rels[rid].target_part #return part.blob if “ImagePart” in type(part).__name__ else None](https://i1.wp.com/savingking.com.tw/wp-content/uploads/2026/01/20260113135812_0_8fa645.png?quality=90&zoom=2&ssl=1&resize=350%2C233)



![Python, typing: 函數庫規格標註; def addTest(x:float, y:float) -> float: List[資料型態] Set[資料型態] Tuple[資料型態] Dict[str,value的資料型態] Union[資料型態1, 資料型態2] ,函式若有多個輸出值,其實是輸出一個tuple Python, typing: 函數庫規格標註; def addTest(x:float, y:float) -> float: List[資料型態] Set[資料型態] Tuple[資料型態] Dict[str,value的資料型態] Union[資料型態1, 資料型態2] ,函式若有多個輸出值,其實是輸出一個tuple](https://i0.wp.com/savingking.com.tw/wp-content/uploads/2022/09/20220907154601_86.png?quality=90&zoom=2&ssl=1&resize=350%2C233)



![Python `os.environ[“PATH”]`(設定 *.exe 路徑)vs `sys.path`(設定 *.py 路徑)教學:用 Whisper 與 ffmpeg 看懂兩種很像的 path Python `os.environ[“PATH”]`(設定 *.exe 路徑)vs `sys.path`(設定 *.py 路徑)教學:用 Whisper 與 ffmpeg 看懂兩種很像的 path](https://i0.wp.com/savingking.com.tw/wp-content/uploads/2026/05/20260513130826_0_8d5fb3.png?quality=90&zoom=2&ssl=1&resize=350%2C233)

近期留言