Как написать в csv через запись tkinter? - PullRequest
0 голосов
/ 09 октября 2018

Итак, у меня есть эта программа, которую я хочу записать из двух tkinter Entries во вновь созданный файл csv из pandas.До сих пор мне не удалось написать одну строку, за исключением двух столбцов, которые я установил в Dataframe. Есть ли способ для каждой строки, созданной external1 Button, представлять файл csv?

Функция buttonmain() состоит из Frame с именем line, двух Entries и двух Buttons, показанных в конце кода.

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)

1 Ответ

0 голосов
/ 09 октября 2018

Ну, то, что вы спрашиваете, на данный момент неясно, но если вам нужен ваш результат, чтобы выглядеть следующим образом

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)
...