包含 SIMD 指令的 CSV 文件的快速解析器
SimdCSV for Swift
SimdCSV for Swift.提供在 Swift 代码中读取逗号分隔值 (csv) 的最快方法。
RFC 4180 定义的所有 CSV。
当 Swift 内置替代方案时,为什么有人会使用自定义 CSV 解析器?因为 SimdCSV 是目前最快、最节能的 CSV 解析器。此外,SimdCSV 用于表示数据的磁带格式具有很高的内存效率。
它的要点是 SimdCSV for Swift 不是普通的解析器。如果机器效率是重中之重,那么 SimdCSV for Swift 就是您的正确选择。
介绍
SimdCSV for Swift 是 simdcsv 到 Swift 的移植。
它遵循与原始 C 实现相同的 API 设计,但使用更快速的接口。这意味着添加了几个新类。UInt32 和 Data struct 的 swift 数组被交换为原始指针数据类型。
先决条件
这些是构建软件的先决条件。
- Xcode
- 苹果操作系统 10.10
在代码中获取数据
将 Swift 包导入到你的 prject 和代码中。对输入数据进行手动检查,并确定哪些CSV单元格很重要。该软件支持按标题名称或列不猥亵读取列。将其编码到您的程序中。import SimdCSV
在下面的示例中,我们将从我们使用的 Ticks to Ride 示例中读取第 1 列和第 3 列。
import SimdCSV
public class MyLoader {
func load() {
let simdCSV = SimdCSV()
let fileName = URL(string: "input.csv")!
let result = simdCSV.loadCSV(filepath: fileName, CRLF:true)
simdCSV.dump(result)
}
}
func main() {
let main = Main.init()
}
如果您仍在考虑使用该软件,我强烈建议您通读《论实际问题》。
Contributions
Andreas Dreyer Hysing is the single contributor of this software. If you have suggestions for future versions feel free to send a message on @hysing on Twitter or github.
Pull requests are welcomed. If you write propose pull request it should conform with the Design Principles as they are layed out.