Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我对我的Python感到困惑。ValueError:对关闭的文件执行I/O操作_Python - Fatal编程技术网

我对我的Python感到困惑。ValueError:对关闭的文件执行I/O操作

我对我的Python感到困惑。ValueError:对关闭的文件执行I/O操作,python,Python,基达在这里迷路了。我正在尝试获取一个合并的csv,但不断出现以下错误: csv_merge.write(第行)中第26行的文件“consolid.py” ValueError:对关闭的文件执行I/O操作 我试着移动缩进: csv_header='name,location,age,phonenumber' csv_out = 'consolidated.csv' csv_d dir_tree = os.walk(csv_dir) for dirpath, dirnames, filenames

基达在这里迷路了。我正在尝试获取一个合并的csv,但不断出现以下错误:

csv_merge.write(第行)中第26行的文件“consolid.py”

ValueError:对关闭的文件执行I/O操作

我试着移动缩进:

csv_header='name,location,age,phonenumber'
csv_out = 'consolidated.csv'

csv_d
dir_tree = os.walk(csv_dir)
for dirpath, dirnames, filenames in dir_tree:
   pass

csv_list = []
for file in filenames:
   if file.endswith('.csv'):
      csv_list.append(file)

csv_merge = open(csv_out, 'w')
csv_merge.write(csv_header)
csv_merge.write('\n')ir = os.getcwd()
for file in csv_list:
        csv_in = open(file)
        for line in csv_in:
           if line.startswith(csv_header):
              continue
           csv_merge.write(line)
        csv_in.close()
        csv_merge.close()
print('Verify consolidated CSV file : ' + csv_out)

但这不起作用。如何解决此错误?

您从未正确打开csv\u合并,即使打开,在写入csv\u列表中的第一项后仍会关闭csv\u合并

你为什么还要使用类似于
csv\u merge.close()


传统的做法是将类似于
的open(csv_merge,'w')用作f:
,这样即使循环或脚本无法正确执行,文件也会始终关闭。

您永远不会
open()
csv_merge
csv_merge!=csv\u in
csv\u merge是如何初始化的?即使您打开了
csv\u merge
,每次循环都会关闭它。我已经编辑了我的问题。