攝影或3C

Python:如何使用csv.reader() 讀取csv檔案?若該檔案奇異列長度太短,如何用try:~except:~避免取直欄時出現IndexError: list index out of range?

自己建立的csv檔案:

除了奇異的那一列

每一列都有四筆資料

要如何取出第四直欄?

如果直接取的話

因為奇異列的長度太短

會出現

IndexError: list index out of range

 

用try~except~語法

pass IndexError

import csv
fpath = r”C:\Python\DocxCsv\test.txt”
with open(fpath, “r”) as f:
  csvreader = csv.reader(f)
  csvLst = [e for e in csvreader] #這一列要縮排

#沒縮排會出現 ValueError: I/O operation on closed file.

print(“2D list:”, csvLst)

#奇異列為一個空白跟一個空元素

#實際狀況奇異列為: [”] ,長度1,內容為空元素
col4th = []
for row in csvLst:
  try:
      col4th.append(row[3])
  except IndexError:
      pass

print(“第四直欄:”, col4th)

推薦hahow線上學習python: https://igrape.net/30afN

 

Python內建的例外狀況(官網連結):

 

例外觸發程序:

捕捉例外狀況:

推薦hahow線上學習python: https://igrape.net/30afN

 

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡