【发布时间】:2019-05-21 14:52:10
【问题描述】:
我正在尝试将许多 csv 文件编译成一个大文件。当我运行我的程序(如下)时,它会用正确的信息填充指定 CSV 文件的第一行,但随后它开始可变地间隔数据并留下空单元格。它也不会停止填充 csv 文件,它是连续的。合并后的数据应该有几千KB,但达到了500万KB后也没有停止,甚至没有输入我需要的所有数据。目录变量定义为导入 csv 文件。
我尝试在代码末尾添加 wf.close() 语句,但留下消息“AttributeError: '_csv.writer' object has no attribute '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 文件具有正确的信息,并且不会被无休止地添加。
【问题讨论】:
-
关闭它会有所帮助
-
正如@SuperStew 建议的那样,您需要在完成后关闭文件(在循环之外)
-
@Cabrra 如何关闭它?我尝试了 wf.close 语句,但不起作用,我尝试了 with 语句,但似乎也不起作用
标签: python excel file csv concatenation