【问题标题】:How can I resolve this I/O Error in when trying to save a file in python?尝试在 python 中保存文件时如何解决此 I/O 错误?
【发布时间】:2020-11-27 08:45:25
【问题描述】:

我收到以下代码错误:第 8 行,在 对于 csv_reader 中的行: ValueError: 对已关闭文件的 I/O 操作

import csv
import re

with open('file.csv', 'r') as csv_file:
    csv_reader = csv.reader(csv_file)

ff = []
for line in csv_reader:
       ff.append([re.search('mfgcode="(.+?)"', line[0] ).group(1),re.search('modelno="(.+?)"', line[0] ).group(1),re.search('qtyavail="(.+?)"', line[0] ).group(1)])
        
df = pd.DataFrame(ff,columns =['mfgcode','modelno','qtyavail'])
df.to_csv("test.csv",index=False)
print (df)

阻止保存文件的错误可能是什么?

【问题讨论】:

  • 将 for 循环缩进到 with 上下文中

标签: python csv file import valueerror


【解决方案1】:

您的 csv_reader 位于 with 块之外。

试试:

import csv
import re

with open('file.csv', 'r') as csv_file:
    csv_reader = csv.reader(csv_file)

    ff = []
    for line in csv_reader:
        ff.append([re.search('mfgcode="(.+?)"', line[0] ).group(1),re.search('modelno="(.+?)"', line[0] ).group(1),re.search('qtyavail="(.+?)"', line[0] ).group(1)])
        
    df = pd.DataFrame(ff,columns =['mfgcode','modelno','qtyavail'])
    df.to_csv("test.csv",index=False)
    print (df)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-11
    • 2021-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    • 2020-02-07
    • 2023-03-15
    相关资源
    最近更新 更多