【问题标题】:Want to convert a csv file column into an array想要将 csv 文件列转换为数组
【发布时间】:2016-12-06 08:25:49
【问题描述】:

我对这部分完全陌生。我有一个包含不同列的CSV 文件。从那一列有多个值。所以,我的主要目标是我想在 MongoDB 中使用该 CSV 数据。因此,我也将数据从 CSV 导入到 MongoDB 。但它包含一个数组,因此在导入时将其视为字符串而不是数组。那么,我该如何解决这个问题呢? 我的 JSON 应该是这样的,

 {
                "_id" : ObjectId("58456d9b16784d2b36ea67ec"),
                "names" : [abc,pqr],
                "url" : "abc.com",
                "noticePeriod" : 56,
                "payScale" : "H"
        },

所以,这里是数组名。

所以在使用 CSV 之后,

 {
                    "_id" : ObjectId("58456d9b16784d2b36ea67ec"),
                    "names" : "abc,pqr",
                    "url" : "abc.com",
                    "noticePeriod" : 56,
                    "payScale" : "H"
            },

【问题讨论】:

  • 第二个 json 是你拥有的,第一个是你想要的?
  • 从 CSV 导入后,我得到了第二个 JSON,但我的要求是第一个 JSON。
  • 我从未使用过 json,但我建议你从第二个 json 中获取字符串并从中创建一个数组,然后用数组替换字符串
  • 是的,我也试过了,但它给了我一个像 { "_id" : ObjectId("58456d9b16784d2b36ea67ec"), "names" : ["abc,pqr"], "url " : "abc.com", "noticePeriod" : 56, "payScale" : "H" },
  • 喜欢第二个吗?

标签: java arrays mongodb csv


【解决方案1】:

其实你可以通过

来解决这个问题

首先在 MongoDB 中导入 csv 文件。

mongoimport -d NameofDB -c NameOfCollection --type csv --file locations.csv --headerline

然后你就可以使用了

db.Collection_Name.find().snapshot().forEach(function (el) {   el.WantToConvertArray= el.WantToConvertArray.split(',');   db.companies.save(el); });

解决了我的问题。

【讨论】:

    猜你喜欢
    • 2020-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多