看板 Python 關於我們 聯絡資訊
大家好 小弟有一問題想要請教各位 我有兩個CSV檔案 想要分別作處理 所以我用for 迴圈 一次讀一個檔案 我是利用csv.reader 去讀取的 但是在做完第一次迴圈之後 第一次讀取的檔案還會留在csv.reader 裡面 導致我第二次讀取第二個CSV檔案時 會處理到第一個檔案的東西 請問各位 有辦法做完第一次迴圈之後 清除csv.reader裡的東西嗎 以下為我的code 片段 import CSV rows=[] for i in range(0,2) filename = 'xxx'+str(i)+'.csv' f = open(filename) reader = csv.reader(f) for row in reader: rows.append(row) f.close() -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.42.63.58 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1646926655.A.E56.html ※ 編輯: yoyo50420 (114.42.63.58 臺灣), 03/10/2022 23:39:35
DaOppaiLoli: 這個片段 Code 跑起來好像沒什麼問題 03/10 23:47
DaOppaiLoli: 雖然你的 f.close() 應該放在 for 迴圈裡面才對 03/10 23:48
lycantrope: rows一直append(row)會沒辦法分檔案處理 03/11 08:59
lycantrope: https://www.ideone.com/HmwnG1 03/11 09:06
yoyo50420: 請問上面的code 跟我的主要差異是什麼呢? 03/11 10:34
yoyo50420: 我有試著run 03/11 10:34
yoyo50420: 看起來 他把第一個檔案放在row[1] 03/11 10:34
yoyo50420: 第二個放在row[2] 03/11 10:34
lycantrope: 你不是要分別處理檔案?所以才把檔案分別放入rows 03/11 14:58
lycantrope: 如果是loop內csv讀取後直接處理,那rows=[]要放入loop 03/11 14:59
lycantrope: 去清除之前檔案儲存的rows 03/11 14:59
lycantrope: https://www.ideone.com/vlD8Cp 03/11 15:03