python - 在 python 中将命令中的数据保存到 csv 文件

标签 python file

我想将命令的结果保存在 csv 文件中。 我现在有这个代码:

import sys
import os
import time
import datetime
import subprocess
import csv

with open("compteur_data.csv","a") as csvfile:
            date = datetime.datetime.today()
            wtr=csv.writer(csvfile)
            wtr.writerow(['Date/Heure','DATA']) #pillar title
            while True:
                ts = time.time()
                st = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')
                print '..............................', st
                sys.stdout.flush()
                cmd = 'sdm120c -a 1 -b 2400 -P N -S 2 -j 20 -z 1 /dev/ttyUSB0'
                (c_stdin,c_stdout,c_stderr)=os.popen3(cmd,'r')
                out=c_stdout.read()
                print out
                c_stdin.close()
                c_stdout.close()
                c_stderr.close()

                wtr.writerow([date,out])
                time.sleep(5)

我的目的是从 sdm120c 收集数据,然后将数据保存在 csv 文件中。 在我的 python shell 上,我可以看到我想要每 5 秒保存一次的所有数据,但是当我打开 objective-c sv 文件时,没有任何内容写入.. 也许有人会问我错在哪里?请。

最佳答案

添加一个调用以将缓冲内容刷新到文件中。这是通过使用调用来实现的:csvfile.flush()

with open("compteur_data.csv","a") as csvfile:
    date = datetime.datetime.today()
    wtr=csv.writer(csvfile)
    wtr.writerow(['Date/Heure','DATA']) #pillar title
    while True:
        ts = time.time()
        st = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')
        print '..............................', st
        sys.stdout.flush()
        cmd = 'sdm120c -a 1 -b 2400 -P N -S 2 -j 20 -z 1 /dev/ttyUSB0'
        (c_stdin,c_stdout,c_stderr)=os.popen3(cmd,'r')
        out=c_stdout.read()
        print out
        c_stdin.close()
        c_stdout.close()
        c_stderr.close()

        wtr.writerow([date,out])

        #New call to flush added below
        csvfile.flush()

        time.sleep(5)

关于python - 在 python 中将命令中的数据保存到 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38102450/

相关文章:

c# - 如何为网络驱动器上的 File.Create 方法设置超时?

java - 使用 Java 读取包含数组的文件

Python删除所有以特定单词开头的行

python - 如何将 API 调用返回的数据直接加载到 BigQuery 中而不存储在 GCS 上?

python - 以编程方式修改 wiki 页面 (Confluence)

python - python列表中最常见的子列表

python - 如何使用 XmlHttpRequest 2.0 将 5 MB 文件上传到 App Engine BlobStore?

python - 使用 Python 仅获取网页中链接列表的第一个元素

swift - 在上一个 swift 版本中下载文件

Scala 过滤器扩展