.csv文件的第一行是不变的?

时间:2017-11-07 19:28:21

标签: python python-2.7 csv

我有一个Python代码,它将一些数据记录到.csv文件中。

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayout, QGroupBox, QDialog, QVBoxLayout, \
    QGridLayout
from PyQt5.QtCore import pyqtSlot

from DirListing import Listing


class App(QDialog):
    def __init__(self):
        super().__init__()
        self.title = 'Grid Test'
        self.left = 10
        self.top = 10
        self.width = 320
        self.height = 500
        self.initUI()

    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)

        self.createGridLayout()

        windowLayout = QVBoxLayout()
        windowLayout.addWidget(self.horizontalGroupBox)
        self.setLayout(windowLayout)

        self.show()

    def createGridLayout(self):
        self.horizontalGroupBox = QGroupBox("Grid")
        layout = QGridLayout()

        counter = 0

        for obj in Listing:

            button = QPushButton(obj.filename)
            button.clicked.connect(self.on_click)
            layout.addWidget(button, counter, 0)

            counter = counter + 1

        self.horizontalGroupBox.setLayout(layout)

    @pyqtSlot()
    def on_click(self):
        print("Halp!")

    def lower(self):
        if __name__ == '__main__':
            app = QApplication(sys.argv)
        ex = App()
        sys.exit(app.exec_())

上面的代码是核心部分,它在.csv文件中生成连续数据

logging_file = 'test.csv'
dt = datetime.datetime.now()
f = open(logging_file, 'a')
f.write('\n "{:%H:%M:%S}",{},{}'.format(dt,x,y,))

现在我希望在此数据的第一行添加以下行。 time,data1,data2.I期望输出为

"00:34:09" ,23.05,23.05
"00:36:09" ,24.05,24.05
"00:38:09" ,26.05,26.05

... etc.,

我尝试了很多方法。那些方法并没有把我的结果作为首选格式。但是我无法得到我预期的结果。

请帮我解决问题。

1 个答案:

答案 0 :(得分:0)

我建议专门编写一个用于创建和管理日志的类。

在创建时,使用预期的第一行初始化文件(不要忘记\ n字符! ),并跟踪有关该日志的任何必要信息(它创建的日志的名称,它的位置等)。然后你可以让课程“写”'对于日志(真的附加日志),您可以根据需要创建新日志,并且可以检查现有日志,并做出有关更新现有内容或删除现有内容并重新开始的决定。