簡體   English   中英

Python csv 數據記錄在 while 循環中不起作用

[英]Python csv data logging doesn't work in while loop

我一直在嘗試通過 USB 端口記錄從 Arduino 接收到的數據,奇怪的是代碼在我的 mac 上運行得很好,但在 windows 上它不會寫它。 一開始我期望最初的寫作“DATA”,但它甚至沒有寫。 當我注釋掉整個循環時,它起作用了(它在 csv 文件中顯示“數據”)。

import serial

count = 1
port = serial.Serial('COM4', baudrate=9600, bytesize=8)
log = open("data_log.csv", "w")
log.write("DATA")
log.write("\n")
while 1:
    value = str(port.read(8), 'utf-8')
    value = value.replace('\r', '').replace('\n', '')
    if value.strip():
        log.write(str(count))
        log.write(',')
        log.write(value)
        log.write('\n')
        print(count)
        count += 1
    print(value)
\n = CR (Carriage Return) // Used as a new line character in Unix
\r = LF (Line Feed) // Used as a new line character in Mac OS
\n\r = CR + LF // Used as a new line character in Windows

我認為它在 Windows 中不起作用,因為您需要尋找 CR LF。

可以嘗試使用Environment.NewLine因為它會根據操作系統充當上述任何一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM