如何从CSV文件中仅在treeview中读取新值?

2024-04-24 23:02:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我这里有这个代码:

def insert_Data_Custom(self):
    with open('data.csv', 'a') as fd:
        fd.write(self.customer_entry.get() + "," +
        self.product_entry.get() + "," +
        self.weight_entry.get() + "," +
        self.in_out_entry.get() + "," +
        self.quantity_entry.get() + "," +
        self.batch_entry.get() + "," +
        self.best_before_entry.get() + '\n')
        fd.close()

    with open('data.csv') as f:
        reader = csv.DictReader(f, delimiter=',')
        for row in reader:
            customer = row['Customer']
            product = row['Product']
            weight = row['Weight']
            inner_outer = row['Inner/Outer']
            quantity = row['Quantity']
            batch = row['Batch']
            bbe = row['Best Before']
            Progress = row['Progress']
            self.progress_view.insert("", 0, values=(customer,product,weight,inner_outer,quantity,batch,bbe,Progress))


    self.customer_entry.delete(0, 'end')
    self.product_entry.delete(0, 'end')
    self.weight_entry.delete(0, 'end')
    self.in_out_entry.delete(0, 'end')
    self.quantity_entry.delete(0, 'end')
    self.batch_entry.delete(0, 'end')
    self.best_before_entry.delete(0, 'end')

顶部获取所有值并附加到csv文件中。除此之外,中间代码将从csv值向treeview添加值

我的问题是,当我点击一个按钮激活此功能时,它会将数据插入CSV,Treeview会读取CSV值并显示这些值。但如果我插入另一个值,treeview将复制以前的值并在上添加新记录

如何使树视图仅附加插入的新记录


Tags: csvinselfgetbatchcustomerproductdelete
1条回答
网友
1楼 · 发布于 2024-04-24 23:02:29

My problem is, when I click a button to activate this function, it inserts data into CSV and Treeview reads the CSV values and shows the values. But if I insert another value, treeview will duplicate previous values and add new record on.

在开始插入之前,必须检查treeview是否有任何child并删除这些children

if self.progress_view.winfo_children():
    for widget in self.progress_view.winfo_children():
        widget.destroy()

相关问题 更多 >