0

我想打开一个具有以下结构的 CSV 文件:

value1;value2
value3;value4
value5;value6

文件的内容必须显示在 wx.table 中。至于我已经完成了。这是我的代码:

class FormLohnarten(wx.Frame):
    """"""

    def __init__(self):
        """Constructor"""
        wx.Frame.__init__(self, parent=None, title="Konvertierungstabelle", size=(650,320))
        panel = wx.Panel(self)
        content = {}
        with open ("../../data/lohnarten.csv", "r") as f:
            reader = csv.reader(f, delimiter=";")
            for i in reader:
                content[i[0]] = i[1]

        self.myGrid = gridlib.Grid(panel)
        self.myGrid.CreateGrid(len(content), 2)
        self.myGrid.Bind(gridlib.EVT_GRID_CELL_CHANGED, self.change_value)
        spalte = 0
        for i in content:
            self.myGrid.SetCellValue(spalte,0,i)
            self.myGrid.SetCellValue(spalte,1,content[i])
            spalte += 1
        print self.myGrid.GetCellValue(0,0)
        self.myGrid.AppendRows()
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.myGrid)
        panel.SetSizer(sizer)

        dlg.ShowModal()
        dlg.Destroy()

现在我想更改此表中的值并相应地再次保存在同一个 CSV 文件中。您对我如何实施它有好的想法吗?

4

1 回答 1

1

几乎与读取数据相反的是应该这样做。IOW,从网格中提取值,创建一个cvs.writer并使用它将数据值一次写入文件一行。请注意,csv它尚未处理 unicode,因此当您从网格中提取值时,您应该将它们转换为 ascii 或 utf-8 字符串。

于 2015-02-18T16:23:53.280 回答