树莓派Python脚本中CSV Writer每个数据项单独换行如何修复?
修复CSV数据单行输出问题
你的问题出在data的结构和写入方式上:
- 你定义的
data是两个单元素列表组成的列表,writerows()方法会把每个子列表单独作为一行写入文件,所以Flow和Return的数值各自占了一行。 - 正确的做法是把两个温度值放到同一个列表中,作为一行数据写入。
修改后的代码
from subprocess import check_output import csv header = ['Flow', 'Return'] cmd = ["/usr/bin/ebusctl", "read", "-f"] # 将两个温度值合并到同一个列表 data = [ float(check_output([*cmd, "FlowTemp", "temp"])), float(check_output([*cmd, "ReturnTemp", "temp"])) ] with open('sandbox.csv', 'w', encoding='utf8', newline='') as f: writer = csv.writer(f) writer.writerow(header) # 用writerow写入整行数据 writer.writerow(data)
修复后的CSV内容
Flow,Return 57.19,43.12
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

