Я хочу сохранить результат команды в файле csv. У меня этот код на данный момент:сохранить данные из команды в файл csv в python
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 я могу видеть все данные, которые я хочу сохранять каждые 5 секунд, но когда я открываю целевой файл csv, ничего не записывается. Возможно, кто-нибудь спросит меня, где моя ошибка? Пожалуйста .
вы получаете 'ValueError: popen3() аргумент 2 должен быть 'T' или«b'', как я? –
У меня нет ошибки при компиляции. 'R' был принят. Я на python 2.7.9, возможно, поэтому у вас есть это ... и все данные моей команды были напечатаны. – Thibzy