iT邦幫忙

0

python開發小白,讀csv檔為何會出ValueError: I/O operation on closed file.

  • 分享至 

  • xImage

開發python,使用https://anaconda.cloud/
以下是

  • 程式碼

import csv
import matplotlib.pyplot as plt
from datetime import datetime

plt.rcParams["font.family"] = ["Microsoft JhengHei"] # 設定圖檔字型
fn = 'a.csv'
with open(fn, newline='', encoding='utf-8') as csvFile: # 開始csv檔案
csvReader = csv.reader(csvFile) # 讀檔案建立reader物件
headerRow = next(csvReader) # 讀取文件下一列
dates, highTemp, lowTemps = [], [], [] # 設定空串列
for row in csvReader:
try:
currentDate = datetime.strptime(row[0], "%Y/%m/%d") # 圖示設定日期格式

但出現下述

  • error

ValueError Traceback (most recent call last)
Cell In[5], line 12
10 headerRow = next(csvReader) # 讀取文件下一列
11 dates, highTemp, lowTemps = [], [], [] # 設定空串列
---> 12 for row in csvReader:
13 try:
14 currentDate = datetime.strptime(row[0], "%Y/%m/%d") # 圖示設定日期格式

ValueError: I/O operation on closed file.

請大大協助,感激不盡。

froce iT邦大師 1 級 ‧ 2024-05-13 15:32:34 檢舉
python code縮排很重要,請用編輯器裡的code block重整一遍。
你這通常是用了with,然後後面變數放錯區塊。
迪斯堤 iT邦新手 5 級 ‧ 2024-05-14 10:18:23 檢舉
果然調整變數區塊位置問題就解了,感激不䀆。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答