首页 > 解决方案 > 如何通过 tkinter 的条目写入 csv?

问题描述

所以我有这个程序,我想从 2 写入tkinter Entries新创建的csv文件pandas。到目前为止,除了我在 . 中设置的两列之外,我没有写一行Dataframe。有没有办法让创建的每一行都external1 Button代表csv文件?

buttonmain()函数由一个Frame命名的line、两个EntriesButtons代码末尾显示的两个组成。

def forget_show():
    external1.pack(side='right')
    external.pack_forget()

def savedata():
    x = e1.get()
    y = e2.get()
    print(x, y)
    with open(filename, 'w') as csvfile:
        fields=['First', 'Second']
        w = csv.DictWriter(csvfile, fields)
        w.writerow(x)

external = Button(line, text='Save', command=lambda: [savedata(), forget_show()])
external1 = Button(line, text='+', command=lambda: [buttonmain(), external.pack_forget()])
external.pack(side='right')

Dataframe看起来像这样:

  1. criteria是空的list
  2. entr1并且entr2是两个Entries用户设置的文件名。

df = pd.DataFrame(criteria, columns=['First', 'Second']) filename = entr1.get() + ' - ' + entr2.get() + '.csv' df.to_csv(filename, mode='a', index=False)

标签: pythonpython-3.xpandastkinterpython-3.6

解决方案


好吧,目前您的要求还不清楚,但是如果您需要结果看起来像这样

First,Second
Value1,Value2
Value3,Value4

然后在你的save_data功能中,你可以:

with open(file name,'w') as f:#or better still open the file in 'a' mode
    line = ','.join([x,y])
    f.write(line)

推荐阅读