我正在尝试使用内部联接加入两个data.table。可能没有找到匹配项,那么我想要一个带有正确列号的空数据表。
struct
第二种方法给了我想要的答案。但我更喜欢第一种语法,因为它更快。有人知道如何在不使用trycatch语句的情况下解决此错误。
答案 0 :(得分:1)
我无法从第一个例子中重现你的错误..我认为你的意思是
static func extractFromCSV(){
//the Path of the csv
let documentsUrl:URL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first as URL!
let destinationFileUrl = documentsUrl.appendingPathComponent("name.csv")
let path = destinationFileUrl.path
let importer = CSVImporter<YourClassName?>(path: path,delimiter: ";")
importer.importRecords{ recordValues -> Sede_Azienda? in
//this piece of code is called for each row. You can access to each field with recordValues[x] and manage the data.
return nil //or the object if you need it
}
}
我明白了:
dt1[dt2, nomatch = 0]
使用最新版本的R和data.table
答案 1 :(得分:0)
我认为这只是一个错字:
library(data.table)
dt1 <- data.table(A = c(1,2), B = c(1,2))
dt2 <- data.table(A = c(3,4), D = c(3,4))
setkey(dt1, A)
setkey(dt2, A)
dt1[dt2, nomatch = 0] #instead of t1[t2, nomatch = 0]
Empty data.table (0 rows) of 3 cols: A,B,D