python - 在 Python 中读取 CSV 时出现 ValueError
问题描述
我在 Python 中执行一些简单的 IO 任务时遇到了一些问题,我找不到解决方案……我想这很简单。
我尝试使用 csv 阅读器读取 CSV。首先,我想计算为 numpy 数组分配空间的行数,然后我想读入实际值。
此方法在 tkinter gui 中的按钮事件的操作方法中调用。
我使用 .seek() 方法重置了文件,但不知何故我总是收到以下错误:
文件“...”,第 14 行,read_csv 中 xy 中的行:ValueError:对已关闭文件的 I/O 操作。
我无法弄清楚问题是什么......
令人困惑的是,当我在调试模式下运行代码时,它运行良好,但在正常模式下运行时却失败了。如果这很重要,我会使用 pyCharm。
import csv
import numpy as np
def read_csv(fileName):
with open(fileName) as data:
xy = csv.reader(data, delimiter=',')
dim = sum(1 for cc in xy)
x = np.zeros(dim)
y = np.zeros(dim)
data.seek(0)
count = 0
for row in xy:
x[count] = row[0]
y[count] = row[1]
count = count + 1
return x,y,count
编辑:
这是调用例程:
def clicked_ReadCSV():
filename = "xy.csv"
x,y,count = read_csv(filename)
##################################
root = tk.Tk()
root.title('Test')
f0 = tk.Frame()
lblFile = tk.Label(f0, text = "Enter input-file name with suffix:")
lblFile.pack(side = tk.LEFT)
entryFile = tk.Entry(f0, width = 60)
entryFile.pack(side = tk.LEFT)
bFile = tk.Button(f0, text = "Read File", command = clicked_ReadCSV)
bFile.pack(side = tk.LEFT)
entryFile.focus()
f0.pack()
按钮操作命令 clicked_ReadCSV 调用上面显示的例程。
解决方案
推荐阅读
- html - FRAME src 属性:我必须对值进行 URI 编码吗?
- java - 使用提取的 java 源代码与 maven 一起编译
- javascript - 如何在 DOM 中开始文本节点
- java - “使用带参数的构造函数 NO_CONSTRUCTOR 实例化 java.util.List 失败”,
- python - 如何将没有内存转储的大型 numpy 文件加载到 kaggle 笔记本中?
- python - 无法使用修改后的 LLE、hessian LLE 和局部切线空间对齐来分配那么多内存
- ios - SWIFT:让语音停止阅读截断的字符串
- c++ - C++ - 如何记住文件是否已被移动?
- express - 尝试在 Heroku 中为 MERN 应用程序设置 package.json
- matplotlib - 如何在网格外绘制时保持 matplotlib 网格的约束?