将内容写入excel csv文件时,csv.writer无法关闭

时间:2019-05-21 14:52:10

标签: python excel file csv concatenation

我正在尝试将许多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文件具有正确的信息,并且不会无休止地添加到其中。

1 个答案:

答案 0 :(得分:0)

使用with statement自动打开和关闭csv文件

with open(path, 'w') as file:
    w = csv.writer(file)
    ...