我正在尝试将许多csv文件编译成一个大文件。当我运行程序(如下)时,它会使用正确的信息填充指定CSV文件的第一行,但随后它会可变地开始间隔数据并留下空白单元格。它也不会停止填充csv文件,它是连续的。合并后的数据应该是几千KB,但是即使达到500万KB也没有停止,甚至没有输入我需要的所有数据。 Dir变量定义为导入csv文件。
我尝试在代码末尾添加wf.close()语句,但出现消息“ AttributeError:'_csv.writer'对象没有属性'close'”
csv_file_list = glob.glob(Dir + '/*.csv')
wf = csv.writer(open(Avg_Dir + '.csv','w'),delimiter = ',') #wb to w
for files in csv_file_list:
#print (files) #debug, confirmed
rd = csv.reader(open(files,'r'),delimiter = ',')
#rd.next()
for row in rd:
print (row) #debug, confirmed
wf.writerow(row)
我也尝试编写一个with语句,但我遇到了同样的问题,它可以正常运行一会儿,然后开始在合并的csv文件中打印空白单元格,并且没有关闭。我主要是想弄清楚如何关闭它,以便使我合并的csv文件具有正确的信息,并且不会无休止地添加到其中。
答案 0 :(得分:0)
使用with statement自动打开和关闭csv文件
with open(path, 'w') as file:
w = csv.writer(file)
...