我有一个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)")
}
}
}
答案 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)