如何记录传感器数据并导出为 CSV?

How to log sensor data and export to CSV?

我有一个 iOS 应用程序,它使用 CoreMotion 以大约 50Hz 的频率将传感器数据(陀螺仪、姿态、加速度等)打印到终端。我想保存传感器读数并将它们导出到 csv 文件。我会使用哪些框架(如果有的话)来执行此操作?我一直在尝试使用 Core Data,但我觉得它不是正确的工具。

供参考,这是我读取加速度计数据的方式:

func startAccel() ->Void{ //Starting accelerometer
    motionManager.accelerometerUpdateInterval = 1.0 / Double(hz)
    motionManager.startAccelerometerUpdates(to: OperationQueue.current!){ (data, error) in
        if let myData = data{
            let x = myData.acceleration.x
            let y = myData.acceleration.y
            let z = myData.acceleration.z
            print("Acceleration X: \(x) Y: \(y) Z: \(z)")
        }
    }
}

要创建 CSV 文件,您只需创建一个字符串,用逗号分隔列,换行符分隔行,然后将字符串写入文件。

let csvString = allData
    .map { "\([=10=].x),\([=10=].y),\([=10=].z)" }
    .joined(separator: "\n")
csvString.write(toFile: "some-file.csv", atomically: true, encoding: .utf8)