Python csv数据记录不使用';不要在while循环中工作

Python csv数据记录不使用';不要在while循环中工作,csv,serial-port,csv-write-stream,Csv,Serial Port,Csv Write Stream,我一直在尝试通过USB端口记录从Arduino接收到的数据,奇怪的是,该代码在我的mac电脑上运行良好,但在windows上它不会编写它。一开始,我期望最初写“数据”,但它甚至没有写。当我注释掉整个循环时,它工作了(csv文件中显示“数据”) 我认为它在windows中不起作用,因为你需要寻找一个CR LF 可以尝试使用Environment.NewLine,因为它将根据操作系统的不同充当上述任何一项 import serial count = 1 port = serial.Serial('

我一直在尝试通过USB端口记录从Arduino接收到的数据,奇怪的是,该代码在我的mac电脑上运行良好,但在windows上它不会编写它。一开始,我期望最初写“数据”,但它甚至没有写。当我注释掉整个循环时,它工作了(csv文件中显示“数据”)

我认为它在windows中不起作用,因为你需要寻找一个CR LF

可以尝试使用
Environment.NewLine
,因为它将根据操作系统的不同充当上述任何一项

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