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

时间:2018-04-10 21:07:16

标签: ios swift csv 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)")
        }
    }
}

1 个答案:

答案 0 :(得分:1)

创建CSV文件所需要做的就是创建一个字符串,用逗号分隔列,分隔行的换行符,然后将字符串写入文件。

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