删除python中的所有.csv文件内容

时间:2017-11-03 18:57:50

标签: python python-3.x csv

所以,我的程序将使用新数据替换旧数据,该数据将被放入相同的.csv文件中。并且在我运行程序之后它不会被替换。下面是我的代码。

                        TEXTFILE = open("data.csv", "w")

                        for i in book_list:
                            TEXTFILE.write("{},{},{},{}".format(i[0],i[1],i[2],i[3]))

                        TEXTFILE.close()

book_list是保存要存储的新数据的列表 结果我得到了:

k,k,45,c
a,a,65,r
d,s,65,r
as,as,65,r
df,df6,65,r
as,as,6,r
as,as,46,r
as,as,45,r
as,as,56,rk,k,45,r
a,a,65,r
d,s,65,r
as,as,65,r
df,df6,65,r
as,as,6,r
as,as,46,r
as,as,45,r
as,as,56,r

它存储到csv并结合了新旧内容。

原始文件看起来像这样:

k,k,45,r
a,a,65,r
d,s,65,r
as,as,65,r
df,df6,65,r
as,as,6,r
as,as,46,r
as,as,45,r
as,as,56,r

idk如何解释。但我希望结果会改变第四行中新数据的一行。例如,前一行是k,k,45,r(第1行)。并且程序将改变它变为k,k,45,c那样

希望你们都能帮助我:)

1 个答案:

答案 0 :(得分:1)

尝试使用.truncate(),如果在打开文件后调用它会破坏它的内容。

TEXTFILE = open("data.csv", "w")
TEXTFILE.truncate()

for i in book_list:
    TEXTFILE.write("{},{},{},{}".format(i[0],i[1],i[2],i[3]))   

TEXTFILE.close()

我希望我能正确理解你。