首页 \ 问答 \ 如何将JSON转换为数据帧(How to convert JSON into dataframe)

如何将JSON转换为数据帧(How to convert JSON into dataframe)

有关如何将此JSON文件转换为可用数据帧格式的任何想法:

pd.read_json("http://api.census.gov/data/2014/acsse/variables.json")

以下是表格的外观: http//api.census.gov/data/2014/acsse/variables.html


Any ideas on how to transform this JSON file into a usable dataframe format:

pd.read_json("http://api.census.gov/data/2014/acsse/variables.json")

Here's how the table should look: http://api.census.gov/data/2014/acsse/variables.html


原文:https://stackoverflow.com/questions/38845474
更新时间:2023-09-17 15:09

最满意答案

通常mousemovemouseend需要在document 。 我发现在Ractive中,装饰器通常更适合拖动。 下面是一个让你走的例子( http://jsfiddle.net/h9j2hdyj/1/ ):

<div class="rect noSelect {{ dragging ? 'dragging' : ''}}" 
     decorator='drag:"position"'
     style="{{#position}}top:{{top}}px;left:{{left}}px{{/}}">
</div>

装饰:

Ractive.decorators.drag = function(node, keypath){

    var ractive = this, initial, begin, startPos;

    node.addEventListener('mousedown', start, false)

    function listenOnDocument(){
        document.addEventListener('mousemove', move, false)
        document.addEventListener('mouseup', unlistenOnDocument, false)
    }

    function unlistenOnDocument(){
        document.removeEventListener('mousemove', move, false)
        document.removeEventListener('mouseup', end, false)
    }

    function start(e){
        begin = { x: e.x, y: e.y }
        startPos = ractive.get(keypath)
        startPos = { x: startPos.left, y: startPos.top }
        ractive.set('dragging', true)
        listenOnDocument()
        e.preventDefault()
        e.stopPropagation()
    }

    function move(e){
        ractive.set(keypath, {
            left: startPos.x + (e.x - begin.x),
            top: startPos.y + (e.y - begin.y)
        })
        e.preventDefault()
        e.stopPropagation()
    }

    function end(){
        unlistenOnDocument()
        ractive.set('dragging', false)
    }

  return {
      update: function(pos){
          console.log(pos)
          position = pos
      },
    teardown: function(){
        node.removeEventListener('mousedown', start, false)
        end()
    }
  }

}

Usually mousemove and mouseend need to be on the document. I find that with Ractive a decorator usually works better for dragging. Here's one example to get you going (http://jsfiddle.net/h9j2hdyj/1/):

<div class="rect noSelect {{ dragging ? 'dragging' : ''}}" 
     decorator='drag:"position"'
     style="{{#position}}top:{{top}}px;left:{{left}}px{{/}}">
</div>

decorator:

Ractive.decorators.drag = function(node, keypath){

    var ractive = this, initial, begin, startPos;

    node.addEventListener('mousedown', start, false)

    function listenOnDocument(){
        document.addEventListener('mousemove', move, false)
        document.addEventListener('mouseup', unlistenOnDocument, false)
    }

    function unlistenOnDocument(){
        document.removeEventListener('mousemove', move, false)
        document.removeEventListener('mouseup', end, false)
    }

    function start(e){
        begin = { x: e.x, y: e.y }
        startPos = ractive.get(keypath)
        startPos = { x: startPos.left, y: startPos.top }
        ractive.set('dragging', true)
        listenOnDocument()
        e.preventDefault()
        e.stopPropagation()
    }

    function move(e){
        ractive.set(keypath, {
            left: startPos.x + (e.x - begin.x),
            top: startPos.y + (e.y - begin.y)
        })
        e.preventDefault()
        e.stopPropagation()
    }

    function end(){
        unlistenOnDocument()
        ractive.set('dragging', false)
    }

  return {
      update: function(pos){
          console.log(pos)
          position = pos
      },
    teardown: function(){
        node.removeEventListener('mousedown', start, false)
        end()
    }
  }

}

相关问答

更多
  • 您总是可以使用x.peer.getButton来获取Java映射(其中x是您的Scala MouseClicked事件)。 peer几乎总是包含一个与Scala类相当的Java - 并且在这种情况下。 You can always use x.peer.getButton to get the Java mapping (where x is your Scala MouseClicked event). peer almost always contains a Java equivalent to th ...
  • 通常mousemove和mouseend需要在document 。 我发现在Ractive中,装饰器通常更适合拖动。 下面是一个让你走的例子( http://jsfiddle.net/h9j2hdyj/1/ ):
    你的问题是这个代码: var startlisten = new mouseEvent.Listen({canvas:document.getElementById('myCanvas')}); var circle = new mouseEvent.Register({ type: 'mouseover', name: 'test', x: [180], y: [90], callback: function () { alert('this is a test') ...
  • 使用EDT来创建和操作Swing组件 在设置JFrame可见之前,不要调用setSize()而是调用pack() 。 不要调用setPrefferedSize()而是重写getPrefferedSize() 您的代码按预期工作,只会在单击panel1打印该消息,注意panel1位于JScrollPane后面,因此绿色边框外的任何内容都是panel1 。 要使它适用于JScrollpane / panel2和JPanel / panel1只需将MouseListener添加到所需组件的BOTH中即可: imp ...
  • MouseEvent.CLICK是一个类的公共常量,可以随处访问而无需创建实例。 这就像在php类中的公共静态变量。 e:MouseEvent是MouseEvent类的一个实例。 查看MouseEvent类文档http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/MouseEvent.html MouseEvent.CLICK is a class's public constant which can ...
  • 简而言之:使用Node.setOpacity(0.0) 不透明度属性控制节点的“视觉透明度”,而不会影响它接收事件的能力,请参阅APIdocs 。 将此属性设置为零可以实现您(和我)正在寻找的效果:一个看不见但对鼠标敏感的“热区”-Node。 这与我首先尝试的Node.setVisible(false)形成对比。 该方法还禁用事件处理。 来自Node.setVisible()APIdocs: 不可见节点从不接收鼠标事件或键盘焦点,并且在它们变得不可见时永远不会保持键盘焦点。 “隐形”实际上意味着“在调用se ...
  • 这只是Typescript抱怨,因为默认的MouseEvent接口没有coords属性,但由于您使用的是angular2-google-maps您知道coords属性将会存在( ng2 google maps MouseEvent接口 ),因此您可以避免编译通过使用any代替MouseEvent时间错误,如下所示: mapClicked($event: any) { this.markers.push({ lat: $event.coords.lat, lng: $event.coords.lng, ...
  • 事实上,HiTech Magic描述的方法类似: