首页 > 解决方案 > 如何在写入之前清空csv文件

问题描述

您好我正在尝试制作一个在 csv 文件中写入表的函数。

但是 writerows 和 writerow 只是和另一个表没有清除第一个内容(不像在 txt 文件中

这是课程和程序

import csv as c

class Table:

    def __init__(self,File):
        self.file = File
        self.ro = c.reader(File)
        self.wo = c.writer(File)
        self.table_list = []
        for row in self.ro:
            self.table_list.append(row)

    def get_table_list(self):
        . . .

    def visualize_table(self):
        . . . 

    def get_number_of_column(self):
        . . .

    def get_number_of_row(self):
        . . .

    def get_index(self,item_entry,item):
        . . .
        
    def change(self,item_entry,item,to_item):
        . . .

    def write_table(self):
        self.wo.writerows(self.table_list)

file = open("test.csv","r+",newline="")

table = Table(file)

table.change("name","tarun","aditya")

table.write_table()

file.close()

在 write_csv 函数之前 在 write_csv 之前

在 write_csv 函数之后 在此处输入图像描述

如您所见,这不是我想要的

请帮助我,我不能使用任何其他模块,如熊猫等

标签: pythoncsv

解决方案


您可以使用截断方法。

>>> file = open("test.csv","r+",newline="")
>>> file.truncate(0) # Clears file

推荐阅读