python读取串口数据并保存为csv,并且保存时间
时间: 2023-11-01 11:09:25 浏览: 225
下面是一个示例代码,可以读取串口数据并保存为csv文件,并在每行数据后添加时间戳:
```python
import serial
import csv
import datetime
# 打开串口
ser = serial.Serial('COM1', 9600)
# 创建CSV文件并写入表头
with open('data.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['Time', 'Data'])
# 循环读取串口数据
while True:
# 读取一行数据
data = ser.readline().decode().strip()
# 获取当前时间戳
timestamp = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
# 将数据和时间戳写入CSV文件
with open('data.csv', 'a', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow([timestamp, data])
```
说明:
- 在代码中,首先使用 `serial.Serial` 函数打开串口。
- 然后创建一个CSV文件,并写入表头。
- 接着进入一个死循环,在循环中使用 `ser.readline()` 函数读取一行数据,并将其解码为字符串。
- 然后获取当前时间戳,并将数据和时间戳写入CSV文件中,每次写入都以追加模式打开文件,这样每次写入数据都会在文件的末尾添加新的一行。
需要注意的是,如果需要在其他操作系统上运行此代码,需要将串口名称中的 `COM1` 修改为对应的串口名称。
阅读全文