ValueError:对已关闭文件的I/O操作:csvread

2024-04-26 23:14:42 发布

您现在位置:Python中文网/ 问答频道 /正文

不知道为什么会发生这种情况,我对csv文件拥有完全的管理权限,如下所示:

with open('C:\\Users\\legos\\OneDrive\\Desktop\\firebase.csv', 'rt') as f:
    reader = csv.reader(f, delimiter=',')
    i=0
    for row in reader:
        i+=1
    j = 0
    for row in reader:
        j+=1
        if (j == i):
            lasturl = str(row)
    print lasturl

Tags: 文件csvinforwith情况onedriveopen
2条回答

发现此问题时,目录不应包含任何双斜杠,除非之前firebase.csv文件你知道吗

遍历文件(for row in reader)“消耗”文件,因此如果不执行某些操作,就不能再次遍历它。你知道吗

选项包括:

  • 重写代码,使其不必重复文件两次
  • 将第二个循环放入一个单独的(而不是嵌套的)with open() as f
  • 在两次迭代之间“倒带”底层文件指针(使用f.seek(0))(我不确定这是否有效,但在linux机器上使用python2.7.14对我有效)

相关问题 更多 >