Python 导出传感器数据到 .csv 文件

导出传感器的数据一共分为两步:

  1. 构建数据结构;
  2. 导出数据到 .csv 文件。

1.构建数据结构

一般来说,传感器采集的数据为时间序列数据。需要导出的数据一般为:

1
2
3
4
times = [t1, t2, t3 ... tn]
value_A = [a1, a2, a3 ... an]
value_B = [b1, b2, b3 ... bn]
value_C = [c1, c2, c3 ... cn]

需要构建一个二维数组:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import numpy as np

export_data = np.zeros(n, 4) # 构建一个 shape = (数据长度, 数据种类) 的 numpy 数组
export_data[::, 0] = times # times 替换第 0 列。[0, ::]就是行
export_data[::, 1] = value_A
export_data[::, 2] = value_B
export_data[::, 3] = value_C

# 多此一举的操作
# export_data[0, ::] = times
# export_data[1, ::] = value_A
# export_data[2, ::] = value_B
# export_data[3, ::] = value_C
# export_data = export_data.T # 将矩阵的行列转置

此时 export_data 的结构是这样的:

1
2
3
4
5
[ t1 a1 b1 c1
t2 a2 b2 c2
t3 a3 b3 c3
.....
tn an bn cn ]

2.导出数据

导出 .csv 需要用到 pandas 库。

1
2
3
4
5
6
7
8
9
import pandas as pd

column = ['Time', 'ValueA', 'ValueB', 'ValueC'] # 表头
dataFrame = pd.DataFrame(columns=column, data=export_data)
dataFrame.to_csv('path/name.csv', index=False) # index=Ture 的话,会默认生成一列 index 索引列。记住文件名后面要带.csv

# 不需要表头
# export_csv = pd.DataFrame(data=export_data)
# export_csv.to_csv('path/name.csv', header=None, index=False)

或者

1
2
3
4
import pandas as pd

dataFrame = pd.DataFrame({'Time': times, 'ValueA': value_A, 'ValueB': value_B, 'ValueC': value_C})
dataFrame.to_csv('path/name.csv', index=False)

Python 导出传感器数据到 .csv 文件
https://wonderhoi.com/2023/08/03/Python-导出传感器数据到-csv-文件/
作者
wonderhoi
发布于
2023年8月3日
许可协议