从CSV导入RethinkDB时指定数据类型

时间:2016-02-29 22:28:34

标签: json csv rethinkdb rethinkdb-python

我正在使用' rethinkdb import'导入CSV文件,其中一个字段是有效的JSON对象。但是,似乎RethinkDB将此字段编码为字符串,因为我无法使用嵌套过滤器来查询数据集。

如何在导入时指定每个字段的数据类型或在导入完成后修改假定的数据类型?

1 个答案:

答案 0 :(得分:1)

来自documentation

  

JSON文件优先于CSV文件,因为JSON可以代表RethinkDB   完整的文件。如果您要从CSV文件导入,则应该   包括带有字段名称的标题行,或使用--no-header   使用--custom-header选项指定名称。

rethinkdb import -f users.csv --format csv --table test.users --no-header \
    --custom-header id,username,email,password
  

CSV导入中的值将始终作为字符串导入。如果你想   要在导入后将这些字段转换为数字数据类型,请运行   更新执行转换的查询。数据中可运行的示例   资源管理器:

r.table('tablename').update(function(doc) {
    return doc.merge({
        field1: doc('field1').coerceTo('number'),
        field2: doc('field2').coerceTo('number')
    })
});