Как сохранить данные из pandastable? - PullRequest
0 голосов
/ 18 января 2019

Я создаю табличный интерфейс, в котором пользователь получит таблицу из pandastable и запишет некоторые данные.Затем мне нужно сохранить обновленный pandastable, чтобы сделать некоторые оценки.Как я могу это сделать?

Это код:

from tkinter import *
from pandastable import Table, TableModel
import pandas as pd

class TestApp(Frame):
  def __init__(self, parent=None):
    self.parent = parent
    Frame.__init__(self)
    self.main = self.master
    self.main.geometry('600x400+200+100')
    self.main.title('Table app')
    f = Frame(self.main)
    f.pack(fill=BOTH,expand=1)
    df = pd.read_excel('2018.xlsx','November',7)
    x = 'desc'
    nome = df[x].values.tolist()
    name = []
    for i in range(len(nome)):
        if nome[i] == nome[i] and nome[i] != x:
            name.append(nome[i])

    df1 = pd.DataFrame({x:name})
    cfop = [float('Nan') for i in range(len(name))]
    cst_in = [float('Nan') for i in range(len(name))]
    cst_out = [float('Nan') for i in range(len(name))]
    ncm = [float('Nan') for i in range(len(name))]
    icms = [float('Nan') for i in range(len(name))]
    df1['ncm'] = pd.Series(ncm)
    df1['CST in'] = pd.Series(cst_in)
    df1['CST out'] = pd.Series(cst_out)
    df1['CFOP'] = pd.Series(cfop)
    df1['ICMS'] = pd.Series(icms)
    self.table = pt = Table(f, dataframe=df1, showtoolbar=True, showstatusbar=True)
    pt.show()
    return 
app = TestApp()
app.mainloop()

df1 = Table.model.df1

Ожидается, что пользователь заполнит столбцы ncm, CFOP, ICMS, CST in иCST out.Прямо сейчас он может писать в эти столбцы, но данные теряются при закрытии приложения.Я хочу получить данные, которые он пишет, и поместить их в переменную DataFrame.

1 Ответ

0 голосов
/ 21 января 2019

Вы можете использовать следующую строку:

pt.doExport(filename="test2.csv")

В результате получится файл .csv со всеми данными из таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...