【问题标题】:Extracting elements from unique IDs in json file从 json 文件中的唯一 ID 中提取元素
【发布时间】:2019-06-16 18:36:55
【问题描述】:

我想从 json 文件中提取一系列元素,其中每个项目都列在唯一 ID 下,然后使用 community-contributed 命令将它们写入 Stata 中的数据集 @987654323 @。

数据如下:

{
    "4f1ac817b819f25efd0000c8": {
        "name": "Carmen Fraga Estévez",
        "country": "es",
        "group": "epp",
        "lqdn": "https://memopol.lqdn.fr/europe/parliament/deputy_from_ep_id/1993/",
        "agw": null,
        "email": "carmen.fragaestevez@europarl.europa.eu",
        "firstname": "Carmen",
        "surname": "Fraga Estévez",
        "title": "Ms",
        "salutation": "Dear Ms Fraga Estévez,",
        "parltrack_id": 1993,
        "active": true,
        "committees": [
            {
                "id": "pech",
                "role": "Member"
            }
        ],
        "urls": {
            "rss": "http://www.europarl.europa.eu/rss/mep/carmen.fragaestevez/en.xml",
            "europarl": "http://www.europarl.europa.eu/meps/en/1993/_history.html",
            "photo": "http://www.europarl.europa.eu/mepphoto/1993.jpg"
        },
        "constituency": "es_pp"
 }
}

我想提取namecountry,如果有委员会,则提取idrole

json 文件中的每个元素都有一个唯一的 ID 号(但每个元素都以 4f1ac817b819f25efd0000c8 之类的开头)。

我在Stata中尝试过以下代码:

gen str240 name=""
gen str240 country=""
gen str240 id=""
gen str240 role=""

insheetjson name country id role using mep.json, col("name" "country" "id" "role")

但是,当我运行此代码时,我在 Stata 中收到以下错误代码:

{err: Invalid column name/selector 'name'. (Possible name candidates are: "4f1ac817b819f25efd0000c8" "4f1ac789b819f25efd000092"

然后它继续列出json文件中的所有唯一ID号。

【问题讨论】:

标签: json stata


【解决方案1】:

以下适用于您的示例:

clear
set obs 1

generate str240 name=""
generate str240 country=""
generate str240 id=""
generate str240 role=""

insheetjson name ///
            country ///
            id ///
            role ///
            using mep.json, ///
            col("4f1ac817b819f25efd0000c8:name" ///
                "4f1ac817b819f25efd0000c8:country" ///
                "4f1ac817b819f25efd0000c8:committees:1:id" ///
                "4f1ac817b819f25efd0000c8:committees:1:role")

compress

list

     +------------------------------------------------+
     |                 name   country     id     role |
     |------------------------------------------------|
  1. | Carmen Fraga Estévez        es   pech   Member |
     +------------------------------------------------+

【讨论】:

  • 您好,谢谢。这适用于一个观察,但我希望能够在 json 文件中收集所有观察 (754) 的信息,每个观察都有一个唯一的 ID 号。也许有一种方法可以创建一个循环来做到这一点?谢谢。
  • 有,但工作量太大,我没有意愿为您完成所有工作。有了我的回答和帮助文件,你就可以弄清楚了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-28
  • 2018-08-03
  • 1970-01-01
相关资源
最近更新 更多