[問題] CSV reader

看板Python作者 (tur)時間2年前 (2022/03/10 23:37), 2年前編輯推噓4(408)
留言12則, 3人參與, 2年前最新討論串1/1
大家好 小弟有一問題想要請教各位 我有兩個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

03/10 23:47, 2年前 , 1F
這個片段 Code 跑起來好像沒什麼問題
03/10 23:47, 1F

03/10 23:48, 2年前 , 2F
雖然你的 f.close() 應該放在 for 迴圈裡面才對
03/10 23:48, 2F

03/11 08:59, 2年前 , 3F
rows一直append(row)會沒辦法分檔案處理
03/11 08:59, 3F

03/11 09:06, 2年前 , 4F

03/11 10:34, 2年前 , 5F
請問上面的code 跟我的主要差異是什麼呢?
03/11 10:34, 5F

03/11 10:34, 2年前 , 6F
我有試著run
03/11 10:34, 6F

03/11 10:34, 2年前 , 7F
看起來 他把第一個檔案放在row[1]
03/11 10:34, 7F

03/11 10:34, 2年前 , 8F
第二個放在row[2]
03/11 10:34, 8F

03/11 14:58, 2年前 , 9F
你不是要分別處理檔案?所以才把檔案分別放入rows
03/11 14:58, 9F

03/11 14:59, 2年前 , 10F
如果是loop內csv讀取後直接處理,那rows=[]要放入loop
03/11 14:59, 10F

03/11 14:59, 2年前 , 11F
去清除之前檔案儲存的rows
03/11 14:59, 11F

03/11 15:03, 2年前 , 12F
文章代碼(AID): #1YAXi_vM (Python)