我有一个看起来像这样的CSV文件
Tag1,Tag2,Tag3,
some1,some2,some3,
有没有办法将该文件以编程方式导入到领域数据库?
就像每次应用启动时一样,新的csv文件应导入到领域数据库中。
Tag1,Tag2,Tag3应该是列标题,而some ...应该是值
答案 0 :(得分:1)
目前尚不存在以编程方式将if [ -z "$(find /usr/share/man/man1/* -not -name '*.gz' -print -quit)" ]
then echo only gz
fi
文件内容导入到现有csv
文件中的现成解决方案。
您可以使用Realm Studio从csv文件创建新的领域文件。 Realm Cocoa Converter也可以用于从一个或多个csv文件生成新的领域文件,但是,为了能够将文件导入到现有的领域文件中,您需要修改转换器。请记住,Realm Cocoa Converter仅支持macOS,不能在iOS项目中使用。
或者您可以编写自己的代码,将realm
文件转换为csv
Realm
个文件。解析CSV文件非常容易,对其进行验证以确保可以将其转换为Realm对象要复杂一些。但是,您可以从JSON / plist使用Object
自动解析Realm对象。
答案 1 :(得分:1)
我的macOS应用将tsv
文件的内容导入到现有领域文件中。这是我读取文件的功能。
func readFileFrom(_ fileURL: URL) -> [[String]]? {
do {
let content = try String(contentsOf: fileURL, encoding: .utf8)
let data: [[String]] = content.components(separatedBy: "\r\n").map { $0.components(separatedBy: "\t") }
return data
} catch {
//
}
return nil
}
然后我将返回的数据传递给我的Realm Manager类,该类生成并添加新对象。
guard let data = readFileFrom(url) else { return }
RealmManager.write(data: data)
对于csv
文件,您可以将components(separatedBy: "\t")
更改为components(separatedBy: ",")
。