我对我的Python感到困惑。ValueError:对关闭的文件执行I/O操作
基达在这里迷路了。我正在尝试获取一个合并的csv,但不断出现以下错误: csv_merge.write(第行)中第26行的文件“consolid.py” 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_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_mergecsv_merge!=csv\u in
csv\u merge是如何初始化的?即使您打开了csv\u merge
,每次循环都会关闭它。我已经编辑了我的问题。